starting build "4f9df348-73fe-434a-b672-c6ecd39e92df" FETCHSOURCE BUILD Starting Step #0 Step #0: Pulling image: gcr.io/oss-fuzz-base/base-runner Step #0: Using default tag: latest Step #0: latest: Pulling from oss-fuzz-base/base-runner Step #0: b549f31133a9: Pulling fs layer Step #0: 546774638ae1: Pulling fs layer Step #0: 1e4d1959044a: Pulling fs layer Step #0: bc43fec57ffa: Pulling fs layer Step #0: 77a97f4123b7: Pulling fs layer Step #0: 65d6a71406c2: Pulling fs layer Step #0: 07897b5fe604: Pulling fs layer Step #0: cd168bae2bc4: Pulling fs layer Step #0: 1476a9a742b3: Pulling fs layer Step #0: b5b6ee625fc9: Pulling fs layer Step #0: 1da5181834dc: Pulling fs layer Step #0: bba4a6077ac8: Pulling fs layer Step #0: d896f5ee29bf: Pulling fs layer Step #0: 8fa9949bc41d: Pulling fs layer Step #0: da8cd4331b18: Pulling fs layer Step #0: 5f5210cb185c: Pulling fs layer Step #0: f112f5c3b13d: Pulling fs layer Step #0: 83578687325a: Pulling fs layer Step #0: 87801bd73c38: Pulling fs layer Step #0: e15a1d8fa401: Pulling fs layer Step #0: 1c8d97689143: Pulling fs layer Step #0: 3dff6e136d7b: Pulling fs layer Step #0: 1476a9a742b3: Waiting Step #0: 65d6a71406c2: Waiting Step #0: 37124b3282c0: Pulling fs layer Step #0: 22032d9638f5: Pulling fs layer Step #0: 07897b5fe604: Waiting Step #0: 9e679c20b180: Pulling fs layer Step #0: 8a9817160d90: Pulling fs layer Step #0: 1c8d97689143: Waiting Step #0: 1da5181834dc: Waiting Step #0: 77a97f4123b7: Waiting Step #0: 22032d9638f5: Waiting Step #0: d896f5ee29bf: Waiting Step #0: 5f5210cb185c: Waiting Step #0: e15a1d8fa401: Waiting Step #0: f112f5c3b13d: Waiting Step #0: 87801bd73c38: Waiting Step #0: bc43fec57ffa: Waiting Step #0: bba4a6077ac8: Waiting Step #0: da8cd4331b18: Waiting Step #0: 1e4d1959044a: Verifying Checksum Step #0: 1e4d1959044a: Download complete Step #0: bc43fec57ffa: Download complete Step #0: b549f31133a9: Verifying Checksum Step #0: b549f31133a9: Download complete Step #0: 77a97f4123b7: Verifying Checksum Step #0: 77a97f4123b7: Download complete Step #0: 65d6a71406c2: Download complete Step #0: cd168bae2bc4: Verifying Checksum Step #0: cd168bae2bc4: Download complete Step #0: 07897b5fe604: Verifying Checksum Step #0: 07897b5fe604: Download complete Step #0: b5b6ee625fc9: Verifying Checksum Step #0: b5b6ee625fc9: Download complete Step #0: 546774638ae1: Verifying Checksum Step #0: 546774638ae1: Download complete Step #0: bba4a6077ac8: Download complete Step #0: 1da5181834dc: Download complete Step #0: 1476a9a742b3: Verifying Checksum Step #0: 1476a9a742b3: Download complete Step #0: da8cd4331b18: Verifying Checksum Step #0: da8cd4331b18: Download complete Step #0: 8fa9949bc41d: Verifying Checksum Step #0: 8fa9949bc41d: Download complete Step #0: b549f31133a9: Pull complete Step #0: 5f5210cb185c: Verifying Checksum Step #0: 5f5210cb185c: Download complete Step #0: f112f5c3b13d: Verifying Checksum Step #0: f112f5c3b13d: Download complete Step #0: 83578687325a: Download complete Step #0: d896f5ee29bf: Verifying Checksum Step #0: d896f5ee29bf: Download complete Step #0: e15a1d8fa401: Verifying Checksum Step #0: e15a1d8fa401: Download complete Step #0: 1c8d97689143: Verifying Checksum Step #0: 1c8d97689143: Download complete Step #0: 3dff6e136d7b: Verifying Checksum Step #0: 3dff6e136d7b: Download complete Step #0: 37124b3282c0: Verifying Checksum Step #0: 37124b3282c0: Download complete Step #0: 9e679c20b180: Verifying Checksum Step #0: 9e679c20b180: Download complete Step #0: 22032d9638f5: Verifying Checksum Step #0: 22032d9638f5: Download complete Step #0: 87801bd73c38: Verifying Checksum Step #0: 87801bd73c38: Download complete Step #0: 8a9817160d90: Download complete Step #0: 546774638ae1: Pull complete Step #0: 1e4d1959044a: Pull complete Step #0: bc43fec57ffa: Pull complete Step #0: 77a97f4123b7: Pull complete Step #0: 65d6a71406c2: Pull complete Step #0: 07897b5fe604: Pull complete Step #0: cd168bae2bc4: Pull complete Step #0: 1476a9a742b3: Pull complete Step #0: b5b6ee625fc9: Pull complete Step #0: 1da5181834dc: Pull complete Step #0: bba4a6077ac8: Pull complete Step #0: d896f5ee29bf: Pull complete Step #0: 8fa9949bc41d: Pull complete Step #0: da8cd4331b18: Pull complete Step #0: 5f5210cb185c: Pull complete Step #0: f112f5c3b13d: Pull complete Step #0: 83578687325a: Pull complete Step #0: 87801bd73c38: Pull complete Step #0: e15a1d8fa401: Pull complete Step #0: 1c8d97689143: Pull complete Step #0: 3dff6e136d7b: Pull complete Step #0: 37124b3282c0: Pull complete Step #0: 22032d9638f5: Pull complete Step #0: 9e679c20b180: Pull complete Step #0: 8a9817160d90: Pull complete Step #0: Digest: sha256:31609ae5bf0ae294383af39f30819d13017fedf57f32c0f251146389c7f7ac33 Step #0: Status: Downloaded newer image for gcr.io/oss-fuzz-base/base-runner:latest Step #0: gcr.io/oss-fuzz-base/base-runner:latest Finished Step #0 Starting Step #1 Step #1: Already have image (with digest): gcr.io/cloud-builders/gsutil Step #1: CommandException: No URLs matched: gs://oss-fuzz-coverage/postgresql/textcov_reports/20250204/* Step #1: CommandException: 1 file/object could not be transferred. Finished Step #1 ERROR: step exited with non-zero status: 1 Starting Step #2 Step #2: Already have image (with digest): gcr.io/oss-fuzz-base/base-runner Step #2: total 0 Finished Step #2 Starting Step #3 Step #3: Already have image (with digest): gcr.io/cloud-builders/git Step #3: Cloning into 'oss-fuzz'... Finished Step #3 Starting Step #4 Step #4: Already have image (with digest): gcr.io/cloud-builders/docker Step #4: Sending build context to Docker daemon 32.26kB Step #4: Step 1/8 : FROM gcr.io/oss-fuzz-base/base-builder Step #4: latest: Pulling from oss-fuzz-base/base-builder Step #4: b549f31133a9: Already exists Step #4: 546774638ae1: Already exists Step #4: 1e4d1959044a: Already exists Step #4: 8755a86c1873: Pulling fs layer Step #4: f9c0e660f70c: Pulling fs layer Step #4: 91489fda87d9: Pulling fs layer Step #4: 08565aebb676: Pulling fs layer Step #4: e2e985e97bf1: Pulling fs layer Step #4: cc27ce5fb9b4: Pulling fs layer Step #4: 47f120ccfee4: Pulling fs layer Step #4: fc8ce1b380d4: Pulling fs layer Step #4: 641a9951be91: Pulling fs layer Step #4: f54dd9111ce9: Pulling fs layer Step #4: c4ee723681ed: Pulling fs layer Step #4: 14b219684277: Pulling fs layer Step #4: 44ef0a335210: Pulling fs layer Step #4: 739044e87aab: Pulling fs layer Step #4: 4ba5fcb2b7b4: Pulling fs layer Step #4: f2cc9d17eb42: Pulling fs layer Step #4: aae8aca52827: Pulling fs layer Step #4: fc8ce1b380d4: Waiting Step #4: 72c7f627f24d: Pulling fs layer Step #4: e2e985e97bf1: Waiting Step #4: 895cb524f633: Pulling fs layer Step #4: cc27ce5fb9b4: Waiting Step #4: 641a9951be91: Waiting Step #4: 07bb9121ef6b: Pulling fs layer Step #4: 47f120ccfee4: Waiting Step #4: dc10cf8e5b3c: Pulling fs layer Step #4: f54dd9111ce9: Waiting Step #4: 002e01733edf: Pulling fs layer Step #4: 9728058072b0: Pulling fs layer Step #4: c4ee723681ed: Waiting Step #4: e0eb88df6af4: Pulling fs layer Step #4: 14b219684277: Waiting Step #4: 5562ec10a06f: Pulling fs layer Step #4: 3a4628934546: Pulling fs layer Step #4: 44ef0a335210: Waiting Step #4: 60a762d70bd3: Pulling fs layer Step #4: 739044e87aab: Waiting Step #4: a04feda75a8a: Pulling fs layer Step #4: d58bc7539d5f: Pulling fs layer Step #4: 95ad4169007c: Pulling fs layer Step #4: 4ba5fcb2b7b4: Waiting Step #4: 08565aebb676: Waiting Step #4: aa707b89dc5f: Pulling fs layer Step #4: f2cc9d17eb42: Waiting Step #4: aae8aca52827: Waiting Step #4: 60a762d70bd3: Waiting Step #4: 72c7f627f24d: Waiting Step #4: aa707b89dc5f: Waiting Step #4: 002e01733edf: Waiting Step #4: 895cb524f633: Waiting Step #4: a04feda75a8a: Waiting Step #4: 5562ec10a06f: Waiting Step #4: e0eb88df6af4: Waiting Step #4: 95ad4169007c: Waiting Step #4: 3a4628934546: Waiting Step #4: dc10cf8e5b3c: Waiting Step #4: 9728058072b0: Waiting Step #4: 07bb9121ef6b: Waiting Step #4: 91489fda87d9: Download complete Step #4: f9c0e660f70c: Verifying Checksum Step #4: f9c0e660f70c: Download complete Step #4: e2e985e97bf1: Verifying Checksum Step #4: e2e985e97bf1: Download complete Step #4: 8755a86c1873: Verifying Checksum Step #4: 8755a86c1873: Download complete Step #4: cc27ce5fb9b4: Verifying Checksum Step #4: cc27ce5fb9b4: Download complete Step #4: fc8ce1b380d4: Verifying Checksum Step #4: fc8ce1b380d4: Download complete Step #4: 641a9951be91: Verifying Checksum Step #4: 641a9951be91: Download complete Step #4: f54dd9111ce9: Verifying Checksum Step #4: f54dd9111ce9: Download complete Step #4: c4ee723681ed: Verifying Checksum Step #4: c4ee723681ed: Download complete Step #4: 8755a86c1873: Pull complete Step #4: 14b219684277: Verifying Checksum Step #4: 14b219684277: Download complete Step #4: 47f120ccfee4: Verifying Checksum Step #4: 47f120ccfee4: Download complete Step #4: 44ef0a335210: Verifying Checksum Step #4: 44ef0a335210: Download complete Step #4: f9c0e660f70c: Pull complete Step #4: 91489fda87d9: Pull complete Step #4: 4ba5fcb2b7b4: Verifying Checksum Step #4: 4ba5fcb2b7b4: Download complete Step #4: 739044e87aab: Verifying Checksum Step #4: 739044e87aab: Download complete Step #4: f2cc9d17eb42: Download complete Step #4: aae8aca52827: Verifying Checksum Step #4: aae8aca52827: Download complete Step #4: 72c7f627f24d: Verifying Checksum Step #4: 72c7f627f24d: Download complete Step #4: 08565aebb676: Verifying Checksum Step #4: 08565aebb676: Download complete Step #4: 07bb9121ef6b: Verifying Checksum Step #4: 07bb9121ef6b: Download complete Step #4: 895cb524f633: Download complete Step #4: dc10cf8e5b3c: Verifying Checksum Step #4: dc10cf8e5b3c: Download complete Step #4: 002e01733edf: Verifying Checksum Step #4: 002e01733edf: Download complete Step #4: 9728058072b0: Verifying Checksum Step #4: 9728058072b0: Download complete Step #4: e0eb88df6af4: Verifying Checksum Step #4: e0eb88df6af4: Download complete Step #4: 5562ec10a06f: Verifying Checksum Step #4: 5562ec10a06f: Download complete Step #4: 3a4628934546: Verifying Checksum Step #4: 3a4628934546: Download complete Step #4: a04feda75a8a: Verifying Checksum Step #4: a04feda75a8a: Download complete Step #4: 60a762d70bd3: Verifying Checksum Step #4: 60a762d70bd3: Download complete Step #4: d58bc7539d5f: Verifying Checksum Step #4: d58bc7539d5f: Download complete Step #4: 95ad4169007c: Verifying Checksum Step #4: 95ad4169007c: Download complete Step #4: aa707b89dc5f: Verifying Checksum Step #4: aa707b89dc5f: Download complete Step #4: 08565aebb676: Pull complete Step #4: e2e985e97bf1: Pull complete Step #4: cc27ce5fb9b4: Pull complete Step #4: 47f120ccfee4: Pull complete Step #4: fc8ce1b380d4: Pull complete Step #4: 641a9951be91: Pull complete Step #4: f54dd9111ce9: Pull complete Step #4: c4ee723681ed: Pull complete Step #4: 14b219684277: Pull complete Step #4: 44ef0a335210: Pull complete Step #4: 739044e87aab: Pull complete Step #4: 4ba5fcb2b7b4: Pull complete Step #4: f2cc9d17eb42: Pull complete Step #4: aae8aca52827: Pull complete Step #4: 72c7f627f24d: Pull complete Step #4: 895cb524f633: Pull complete Step #4: 07bb9121ef6b: Pull complete Step #4: dc10cf8e5b3c: Pull complete Step #4: 002e01733edf: Pull complete Step #4: 9728058072b0: Pull complete Step #4: e0eb88df6af4: Pull complete Step #4: 5562ec10a06f: Pull complete Step #4: 3a4628934546: Pull complete Step #4: 60a762d70bd3: Pull complete Step #4: a04feda75a8a: Pull complete Step #4: d58bc7539d5f: Pull complete Step #4: 95ad4169007c: Pull complete Step #4: aa707b89dc5f: Pull complete Step #4: Digest: sha256:593eeb07f37f49c2b05ad28b4b0bf07aafa2568f79e0c8add38bfc04d36e3b12 Step #4: Status: Downloaded newer image for gcr.io/oss-fuzz-base/base-builder:latest Step #4: ---> b1f23636895c Step #4: Step 2/8 : RUN apt-get update && apt-get install -y make libreadline-dev zlib1g-dev bison flex Step #4: ---> Running in 7505216e1fa0 Step #4: Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease Step #4: Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB] Step #4: Get:3 http://security.ubuntu.com/ubuntu focal-security InRelease [128 kB] Step #4: Get:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease [128 kB] Step #4: Fetched 383 kB in 1s (765 kB/s) Step #4: Reading package lists... Step #4: Reading package lists... Step #4: Building dependency tree... Step #4: Reading state information... Step #4: make is already the newest version (4.2.1-1.2). Step #4: make set to manually installed. Step #4: The following additional packages will be installed: Step #4: libfl-dev libfl2 libncurses-dev libsigsegv2 m4 Step #4: Suggested packages: Step #4: bison-doc flex-doc ncurses-doc readline-doc m4-doc Step #4: The following NEW packages will be installed: Step #4: bison flex libfl-dev libfl2 libncurses-dev libreadline-dev libsigsegv2 m4 Step #4: zlib1g-dev Step #4: 0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded. Step #4: Need to get 1840 kB of archives. Step #4: After this operation, 7331 kB of additional disk space will be used. Step #4: Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libsigsegv2 amd64 2.12-2 [13.9 kB] Step #4: Get:2 http://archive.ubuntu.com/ubuntu focal/main amd64 m4 amd64 1.4.18-4 [199 kB] Step #4: Get:3 http://archive.ubuntu.com/ubuntu focal/main amd64 flex amd64 2.6.4-6.2 [317 kB] Step #4: Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 bison amd64 2:3.5.1+dfsg-1 [657 kB] Step #4: Get:5 http://archive.ubuntu.com/ubuntu focal/main amd64 libfl2 amd64 2.6.4-6.2 [11.5 kB] Step #4: Get:6 http://archive.ubuntu.com/ubuntu focal/main amd64 libfl-dev amd64 2.6.4-6.2 [6316 B] Step #4: Get:7 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libncurses-dev amd64 6.2-0ubuntu2.1 [340 kB] Step #4: Get:8 http://archive.ubuntu.com/ubuntu focal/main amd64 libreadline-dev amd64 8.0-4 [141 kB] Step #4: Get:9 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 zlib1g-dev amd64 1:1.2.11.dfsg-2ubuntu1.5 [155 kB] Step #4: debconf: delaying package configuration, since apt-utils is not installed Step #4: Fetched 1840 kB in 0s (6096 kB/s) Step #4: Selecting previously unselected package libsigsegv2:amd64. Step #4: (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 17393 files and directories currently installed.) Step #4: Preparing to unpack .../0-libsigsegv2_2.12-2_amd64.deb ... Step #4: Unpacking libsigsegv2:amd64 (2.12-2) ... Step #4: Selecting previously unselected package m4. Step #4: Preparing to unpack .../1-m4_1.4.18-4_amd64.deb ... Step #4: Unpacking m4 (1.4.18-4) ... Step #4: Selecting previously unselected package flex. Step #4: Preparing to unpack .../2-flex_2.6.4-6.2_amd64.deb ... Step #4: Unpacking flex (2.6.4-6.2) ... Step #4: Selecting previously unselected package bison. Step #4: Preparing to unpack .../3-bison_2%3a3.5.1+dfsg-1_amd64.deb ... Step #4: Unpacking bison (2:3.5.1+dfsg-1) ... Step #4: Selecting previously unselected package libfl2:amd64. Step #4: Preparing to unpack .../4-libfl2_2.6.4-6.2_amd64.deb ... Step #4: Unpacking libfl2:amd64 (2.6.4-6.2) ... Step #4: Selecting previously unselected package libfl-dev:amd64. Step #4: Preparing to unpack .../5-libfl-dev_2.6.4-6.2_amd64.deb ... Step #4: Unpacking libfl-dev:amd64 (2.6.4-6.2) ... Step #4: Selecting previously unselected package libncurses-dev:amd64. Step #4: Preparing to unpack .../6-libncurses-dev_6.2-0ubuntu2.1_amd64.deb ... Step #4: Unpacking libncurses-dev:amd64 (6.2-0ubuntu2.1) ... Step #4: Selecting previously unselected package libreadline-dev:amd64. Step #4: Preparing to unpack .../7-libreadline-dev_8.0-4_amd64.deb ... Step #4: Unpacking libreadline-dev:amd64 (8.0-4) ... Step #4: Selecting previously unselected package zlib1g-dev:amd64. Step #4: Preparing to unpack .../8-zlib1g-dev_1%3a1.2.11.dfsg-2ubuntu1.5_amd64.deb ... Step #4: Unpacking zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu1.5) ... Step #4: Setting up libncurses-dev:amd64 (6.2-0ubuntu2.1) ... Step #4: Setting up libreadline-dev:amd64 (8.0-4) ... Step #4: Setting up libsigsegv2:amd64 (2.12-2) ... Step #4: Setting up libfl2:amd64 (2.6.4-6.2) ... Step #4: Setting up zlib1g-dev:amd64 (1:1.2.11.dfsg-2ubuntu1.5) ... Step #4: Setting up m4 (1.4.18-4) ... Step #4: Setting up bison (2:3.5.1+dfsg-1) ... Step #4: update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode Step #4: update-alternatives: warning: skip creation of /usr/share/man/man1/yacc.1.gz because associated file /usr/share/man/man1/bison.yacc.1.gz (of link group yacc) doesn't exist Step #4: Setting up flex (2.6.4-6.2) ... Step #4: Setting up libfl-dev:amd64 (2.6.4-6.2) ... Step #4: Processing triggers for libc-bin (2.31-0ubuntu9.16) ... Step #4: Removing intermediate container 7505216e1fa0 Step #4: ---> 7d703d5a92de Step #4: Step 3/8 : RUN git clone git://git.postgresql.org/git/postgresql.git Step #4: ---> Running in eed2df484b73 Step #4: Cloning into 'postgresql'... Step #4: Removing intermediate container eed2df484b73 Step #4: ---> 8fd217f497b5 Step #4: Step 4/8 : RUN zip postgresql_fuzzer_seed_corpus.zip postgresql/src/test/regress/sql/* Step #4: ---> Running in d6f44942801f Step #4: adding: postgresql/src/test/regress/sql/advisory_lock.sql (deflated 87%) Step #4: adding: postgresql/src/test/regress/sql/aggregates.sql (deflated 77%) Step #4: adding: postgresql/src/test/regress/sql/alter_generic.sql (deflated 85%) Step #4: adding: postgresql/src/test/regress/sql/alter_operator.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/alter_table.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/amutils.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/arrays.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/async.sql (deflated 61%) Step #4: adding: postgresql/src/test/regress/sql/bit.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/bitmapops.sql (deflated 53%) Step #4: adding: postgresql/src/test/regress/sql/boolean.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/box.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/brin.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/brin_bloom.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/brin_multi.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/btree_index.sql (deflated 71%) Step #4: adding: postgresql/src/test/regress/sql/case.sql (deflated 67%) Step #4: adding: postgresql/src/test/regress/sql/char.sql (deflated 63%) Step #4: adding: postgresql/src/test/regress/sql/circle.sql (deflated 66%) Step #4: adding: postgresql/src/test/regress/sql/cluster.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/collate.icu.utf8.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/collate.linux.utf8.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/collate.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/collate.utf8.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/collate.windows.win1252.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/combocid.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/comments.sql (deflated 55%) Step #4: adding: postgresql/src/test/regress/sql/compression.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/constraints.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/conversion.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/copy.sql (deflated 66%) Step #4: adding: postgresql/src/test/regress/sql/copy2.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/copydml.sql (deflated 84%) Step #4: adding: postgresql/src/test/regress/sql/copyencoding.sql (deflated 68%) Step #4: adding: postgresql/src/test/regress/sql/copyselect.sql (deflated 72%) Step #4: adding: postgresql/src/test/regress/sql/create_aggregate.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/create_am.sql (deflated 77%) Step #4: adding: postgresql/src/test/regress/sql/create_cast.sql (deflated 68%) Step #4: adding: postgresql/src/test/regress/sql/create_function_c.sql (deflated 48%) Step #4: adding: postgresql/src/test/regress/sql/create_function_sql.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/create_index.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/create_index_spgist.sql (deflated 91%) Step #4: adding: postgresql/src/test/regress/sql/create_misc.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/create_operator.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/create_procedure.sql (deflated 71%) Step #4: adding: postgresql/src/test/regress/sql/create_role.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/create_schema.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/create_table.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/create_table_like.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/create_type.sql (deflated 69%) Step #4: adding: postgresql/src/test/regress/sql/create_view.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/database.sql (deflated 55%) Step #4: adding: postgresql/src/test/regress/sql/date.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/dbsize.sql (deflated 77%) Step #4: adding: postgresql/src/test/regress/sql/delete.sql (deflated 53%) Step #4: adding: postgresql/src/test/regress/sql/dependency.sql (deflated 69%) Step #4: adding: postgresql/src/test/regress/sql/domain.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/drop_if_exists.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/drop_operator.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/enum.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/equivclass.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/errors.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/event_trigger.sql (deflated 77%) Step #4: adding: postgresql/src/test/regress/sql/event_trigger_login.sql (deflated 48%) Step #4: adding: postgresql/src/test/regress/sql/explain.sql (deflated 69%) Step #4: adding: postgresql/src/test/regress/sql/expressions.sql (deflated 71%) Step #4: adding: postgresql/src/test/regress/sql/fast_default.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/float4.sql (deflated 72%) Step #4: adding: postgresql/src/test/regress/sql/float8.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/foreign_data.sql (deflated 84%) Step #4: adding: postgresql/src/test/regress/sql/foreign_key.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/functional_deps.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/generated_stored.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/geometry.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/gin.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/gist.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/groupingsets.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/guc.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/hash_func.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/hash_index.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/hash_part.sql (deflated 72%) Step #4: adding: postgresql/src/test/regress/sql/horology.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/identity.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/incremental_sort.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/index_including.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/index_including_gist.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/indexing.sql (deflated 84%) Step #4: adding: postgresql/src/test/regress/sql/indirect_toast.sql (deflated 71%) Step #4: adding: postgresql/src/test/regress/sql/inet.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/infinite_recurse.sql (deflated 39%) Step #4: adding: postgresql/src/test/regress/sql/inherit.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/init_privs.sql (deflated 43%) Step #4: adding: postgresql/src/test/regress/sql/insert.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/insert_conflict.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/int2.sql (deflated 77%) Step #4: adding: postgresql/src/test/regress/sql/int4.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/int8.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/interval.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/join.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/join_hash.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/json.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/json_encoding.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/jsonb.sql (deflated 85%) Step #4: adding: postgresql/src/test/regress/sql/jsonb_jsonpath.sql (deflated 91%) Step #4: adding: postgresql/src/test/regress/sql/jsonpath.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/jsonpath_encoding.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/largeobject.sql (deflated 69%) Step #4: adding: postgresql/src/test/regress/sql/limit.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/line.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/lock.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/lseg.sql (deflated 60%) Step #4: adding: postgresql/src/test/regress/sql/macaddr.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/macaddr8.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/matview.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/md5.sql (deflated 66%) Step #4: adding: postgresql/src/test/regress/sql/memoize.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/merge.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/misc.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/misc_functions.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/misc_sanity.sql (deflated 59%) Step #4: adding: postgresql/src/test/regress/sql/money.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/multirangetypes.sql (deflated 86%) Step #4: adding: postgresql/src/test/regress/sql/mvcc.sql (deflated 52%) Step #4: adding: postgresql/src/test/regress/sql/name.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/namespace.sql (deflated 69%) Step #4: adding: postgresql/src/test/regress/sql/numeric.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/numeric_big.sql (deflated 65%) Step #4: adding: postgresql/src/test/regress/sql/numerology.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/object_address.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/oid.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/oidjoins.sql (deflated 65%) Step #4: adding: postgresql/src/test/regress/sql/opr_sanity.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/partition_aggregate.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/partition_info.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/partition_join.sql (deflated 89%) Step #4: adding: postgresql/src/test/regress/sql/partition_prune.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/password.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/path.sql (deflated 69%) Step #4: adding: postgresql/src/test/regress/sql/pg_lsn.sql (deflated 71%) Step #4: adding: postgresql/src/test/regress/sql/plancache.sql (deflated 70%) Step #4: adding: postgresql/src/test/regress/sql/plpgsql.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/point.sql (deflated 72%) Step #4: adding: postgresql/src/test/regress/sql/polygon.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/polymorphism.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/portals.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/portals_p2.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/predicate.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/prepare.sql (deflated 67%) Step #4: adding: postgresql/src/test/regress/sql/prepared_xacts.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/privileges.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/psql.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/psql_crosstab.sql (deflated 68%) Step #4: adding: postgresql/src/test/regress/sql/publication.sql (deflated 84%) Step #4: adding: postgresql/src/test/regress/sql/random.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/rangefuncs.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/rangetypes.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/regex.sql (deflated 71%) Step #4: adding: postgresql/src/test/regress/sql/regproc.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/reindex_catalog.sql (deflated 67%) Step #4: adding: postgresql/src/test/regress/sql/reloptions.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/replica_identity.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/returning.sql (deflated 79%) Step #4: adding: postgresql/src/test/regress/sql/roleattributes.sql (deflated 93%) Step #4: adding: postgresql/src/test/regress/sql/rowsecurity.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/rowtypes.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/rules.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/sanity_check.sql (deflated 45%) Step #4: adding: postgresql/src/test/regress/sql/security_label.sql (deflated 70%) Step #4: adding: postgresql/src/test/regress/sql/select.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/select_distinct.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/select_distinct_on.sql (deflated 69%) Step #4: adding: postgresql/src/test/regress/sql/select_having.sql (deflated 67%) Step #4: adding: postgresql/src/test/regress/sql/select_implicit.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/select_into.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/select_parallel.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/select_views.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/sequence.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/spgist.sql (deflated 65%) Step #4: adding: postgresql/src/test/regress/sql/sqljson.sql (deflated 83%) Step #4: adding: postgresql/src/test/regress/sql/sqljson_jsontable.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/sqljson_queryfuncs.sql (deflated 84%) Step #4: adding: postgresql/src/test/regress/sql/stats.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/stats_ext.sql (deflated 88%) Step #4: adding: postgresql/src/test/regress/sql/stats_import.sql (deflated 91%) Step #4: adding: postgresql/src/test/regress/sql/strings.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/subscription.sql (deflated 85%) Step #4: adding: postgresql/src/test/regress/sql/subselect.sql (deflated 77%) Step #4: adding: postgresql/src/test/regress/sql/sysviews.sql (deflated 60%) Step #4: adding: postgresql/src/test/regress/sql/tablesample.sql (deflated 77%) Step #4: adding: postgresql/src/test/regress/sql/tablespace.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/temp.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/test_setup.sql (deflated 65%) Step #4: adding: postgresql/src/test/regress/sql/text.sql (deflated 70%) Step #4: adding: postgresql/src/test/regress/sql/tid.sql (deflated 68%) Step #4: adding: postgresql/src/test/regress/sql/tidrangescan.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/tidscan.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/time.sql (deflated 70%) Step #4: adding: postgresql/src/test/regress/sql/timestamp.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/timestamptz.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/timetz.sql (deflated 73%) Step #4: adding: postgresql/src/test/regress/sql/transactions.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/triggers.sql (deflated 82%) Step #4: adding: postgresql/src/test/regress/sql/truncate.sql (deflated 78%) Step #4: adding: postgresql/src/test/regress/sql/tsdicts.sql (deflated 84%) Step #4: adding: postgresql/src/test/regress/sql/tsearch.sql (deflated 86%) Step #4: adding: postgresql/src/test/regress/sql/tsrf.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/tstypes.sql (deflated 85%) Step #4: adding: postgresql/src/test/regress/sql/tuplesort.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/txid.sql (deflated 65%) Step #4: adding: postgresql/src/test/regress/sql/type_sanity.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/typed_table.sql (deflated 66%) Step #4: adding: postgresql/src/test/regress/sql/unicode.sql (deflated 67%) Step #4: adding: postgresql/src/test/regress/sql/union.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/updatable_views.sql (deflated 86%) Step #4: adding: postgresql/src/test/regress/sql/update.sql (deflated 75%) Step #4: adding: postgresql/src/test/regress/sql/uuid.sql (deflated 76%) Step #4: adding: postgresql/src/test/regress/sql/vacuum.sql (deflated 77%) Step #4: adding: postgresql/src/test/regress/sql/vacuum_parallel.sql (deflated 59%) Step #4: adding: postgresql/src/test/regress/sql/varchar.sql (deflated 67%) Step #4: adding: postgresql/src/test/regress/sql/window.sql (deflated 86%) Step #4: adding: postgresql/src/test/regress/sql/with.sql (deflated 80%) Step #4: adding: postgresql/src/test/regress/sql/without_overlaps.sql (deflated 93%) Step #4: adding: postgresql/src/test/regress/sql/write_parallel.sql (deflated 74%) Step #4: adding: postgresql/src/test/regress/sql/xid.sql (deflated 69%) Step #4: adding: postgresql/src/test/regress/sql/xml.sql (deflated 81%) Step #4: adding: postgresql/src/test/regress/sql/xmlmap.sql (deflated 75%) Step #4: Removing intermediate container d6f44942801f Step #4: ---> f1e54f97332e Step #4: Step 5/8 : WORKDIR postgresql Step #4: ---> Running in ec2e076bc6de Step #4: Removing intermediate container ec2e076bc6de Step #4: ---> 2d7275640785 Step #4: Step 6/8 : RUN mkdir bld Step #4: ---> Running in e098433b9e5e Step #4: Removing intermediate container e098433b9e5e Step #4: ---> 22febde27588 Step #4: Step 7/8 : COPY fuzzer $SRC/fuzzer Step #4: ---> 9c4f1bc4fdbc Step #4: Step 8/8 : COPY build.sh add_fuzzers.diff $SRC/ Step #4: ---> 6721d4648130 Step #4: Successfully built 6721d4648130 Step #4: Successfully tagged gcr.io/oss-fuzz/postgresql:latest Finished Step #4 Starting Step #5 - "srcmap" Step #5 - "srcmap": Already have image: gcr.io/oss-fuzz/postgresql Step #5 - "srcmap": ++ tempfile Step #5 - "srcmap": + SRCMAP=/tmp/filellmg1P Step #5 - "srcmap": + echo '{}' Step #5 - "srcmap": + PATHS_TO_SCAN=/src Step #5 - "srcmap": + [[ c == \g\o ]] Step #5 - "srcmap": ++ find /src -name .git -type d Step #5 - "srcmap": + for DOT_GIT_DIR in $(find $PATHS_TO_SCAN -name ".git" -type d) Step #5 - "srcmap": ++ dirname /src/postgresql/.git Step #5 - "srcmap": + GIT_DIR=/src/postgresql Step #5 - "srcmap": + cd /src/postgresql Step #5 - "srcmap": ++ git config --get remote.origin.url Step #5 - "srcmap": + GIT_URL=git://git.postgresql.org/git/postgresql.git Step #5 - "srcmap": ++ git rev-parse HEAD Step #5 - "srcmap": + GIT_REV=a051e71e28a12342a4fb39a3c149a197159f9c46 Step #5 - "srcmap": + jq_inplace /tmp/filellmg1P '."/src/postgresql" = { type: "git", url: "git://git.postgresql.org/git/postgresql.git", rev: "a051e71e28a12342a4fb39a3c149a197159f9c46" }' Step #5 - "srcmap": ++ tempfile Step #5 - "srcmap": + F=/tmp/fileTTYb1a Step #5 - "srcmap": + cat /tmp/filellmg1P Step #5 - "srcmap": + jq '."/src/postgresql" = { type: "git", url: "git://git.postgresql.org/git/postgresql.git", rev: "a051e71e28a12342a4fb39a3c149a197159f9c46" }' Step #5 - "srcmap": + mv /tmp/fileTTYb1a /tmp/filellmg1P Step #5 - "srcmap": ++ find /src -name .svn -type d Step #5 - "srcmap": ++ find /src -name .hg -type d Step #5 - "srcmap": + '[' '' '!=' '' ']' Step #5 - "srcmap": + cat /tmp/filellmg1P Step #5 - "srcmap": + rm /tmp/filellmg1P Step #5 - "srcmap": { Step #5 - "srcmap": "/src/postgresql": { Step #5 - "srcmap": "type": "git", Step #5 - "srcmap": "url": "git://git.postgresql.org/git/postgresql.git", Step #5 - "srcmap": "rev": "a051e71e28a12342a4fb39a3c149a197159f9c46" Step #5 - "srcmap": } Step #5 - "srcmap": } Finished Step #5 - "srcmap" Starting Step #6 - "compile-libfuzzer-introspector-x86_64" Step #6 - "compile-libfuzzer-introspector-x86_64": Already have image (with digest): gcr.io/cloud-builders/docker Step #6 - "compile-libfuzzer-introspector-x86_64": --------------------------------------------------------------- Step #6 - "compile-libfuzzer-introspector-x86_64": vm.mmap_rnd_bits = 28 Step #6 - "compile-libfuzzer-introspector-x86_64": Compiling libFuzzer to /usr/lib/libFuzzingEngine.a... done. Step #6 - "compile-libfuzzer-introspector-x86_64": Reading package lists... 0% Reading package lists... 0% Reading package lists... 0% Reading package lists... 2% Reading package lists... 2% Reading package lists... 4% Reading package lists... 4% Reading package lists... 5% Reading package lists... 5% Reading package lists... 5% Reading package lists... 5% Reading package lists... 29% Reading package lists... 29% Reading package lists... 42% Reading package lists... 42% Reading package lists... 43% Reading package lists... 43% Reading package lists... 43% Reading package lists... 43% Reading package lists... 53% Reading package lists... 53% Reading package lists... 56% Reading package lists... 56% Reading package lists... 66% Reading package lists... 66% Reading package lists... 67% Reading package lists... 67% Reading package lists... 67% Reading package lists... 70% Reading package lists... 70% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 72% Reading package lists... 73% Reading package lists... 73% Reading package lists... 73% Reading package lists... 73% Reading package lists... 73% Reading package lists... 73% Reading package lists... 73% Reading package lists... 73% Reading package lists... 82% Reading package lists... 82% Reading package lists... 84% Reading package lists... 84% Reading package lists... 94% Reading package lists... 94% Reading package lists... 94% Reading package lists... 94% Reading package lists... 97% Reading package lists... 97% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... 99% Reading package lists... Done Step #6 - "compile-libfuzzer-introspector-x86_64": Building dependency tree... 0% Building dependency tree... 0% Building dependency tree... 50% Building dependency tree... 50% Building dependency tree Step #6 - "compile-libfuzzer-introspector-x86_64": Reading state information... 0% Reading state information... 0% Reading state information... Done Step #6 - "compile-libfuzzer-introspector-x86_64": zlib1g-dev is already the newest version (1:1.2.11.dfsg-2ubuntu1.5). Step #6 - "compile-libfuzzer-introspector-x86_64": The following additional packages will be installed: Step #6 - "compile-libfuzzer-introspector-x86_64": libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev libyaml-0-2 Step #6 - "compile-libfuzzer-introspector-x86_64": Suggested packages: Step #6 - "compile-libfuzzer-introspector-x86_64": libyaml-doc Step #6 - "compile-libfuzzer-introspector-x86_64": The following NEW packages will be installed: Step #6 - "compile-libfuzzer-introspector-x86_64": libjpeg-dev libjpeg-turbo8 libjpeg-turbo8-dev libjpeg8 libjpeg8-dev Step #6 - "compile-libfuzzer-introspector-x86_64": libyaml-0-2 libyaml-dev Step #6 - "compile-libfuzzer-introspector-x86_64": 0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. Step #6 - "compile-libfuzzer-introspector-x86_64": Need to get 469 kB of archives. Step #6 - "compile-libfuzzer-introspector-x86_64": After this operation, 2050 kB of additional disk space will be used. Step #6 - "compile-libfuzzer-introspector-x86_64": 0% [Working] Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 libyaml-0-2 amd64 0.2.2-1 [48.9 kB] Step #6 - "compile-libfuzzer-introspector-x86_64": 2% [1 libyaml-0-2 14.2 kB/48.9 kB 29%] 11% [Working] Get:2 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libjpeg-turbo8 amd64 2.0.3-0ubuntu1.20.04.3 [118 kB] Step #6 - "compile-libfuzzer-introspector-x86_64": 12% [2 libjpeg-turbo8 2604 B/118 kB 2%] 34% [Waiting for headers] Get:3 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libjpeg-turbo8-dev amd64 2.0.3-0ubuntu1.20.04.3 [238 kB] Step #6 - "compile-libfuzzer-introspector-x86_64": 34% [3 libjpeg-turbo8-dev 1552 B/238 kB 1%] 78% [Waiting for headers] Get:4 http://archive.ubuntu.com/ubuntu focal/main amd64 libjpeg8 amd64 8c-2ubuntu8 [2194 B] Step #6 - "compile-libfuzzer-introspector-x86_64": 78% [4 libjpeg8 424 B/2194 B 19%] 81% [Waiting for headers] Get:5 http://archive.ubuntu.com/ubuntu focal/main amd64 libjpeg8-dev amd64 8c-2ubuntu8 [1552 B] Step #6 - "compile-libfuzzer-introspector-x86_64": 81% [5 libjpeg8-dev 838 B/1552 B 54%] 84% [Waiting for headers] Get:6 http://archive.ubuntu.com/ubuntu focal/main amd64 libjpeg-dev amd64 8c-2ubuntu8 [1546 B] Step #6 - "compile-libfuzzer-introspector-x86_64": 84% [6 libjpeg-dev 1546 B/1546 B 100%] 87% [Waiting for headers] Get:7 http://archive.ubuntu.com/ubuntu focal/main amd64 libyaml-dev amd64 0.2.2-1 [58.2 kB] Step #6 - "compile-libfuzzer-introspector-x86_64": 87% [7 libyaml-dev 58 B/58.2 kB 0%] 100% [Working] Fetched 469 kB in 1s (522 kB/s) Step #6 - "compile-libfuzzer-introspector-x86_64": debconf: delaying package configuration, since apt-utils is not installed Step #6 - "compile-libfuzzer-introspector-x86_64": Selecting previously unselected package libyaml-0-2:amd64. Step #6 - "compile-libfuzzer-introspector-x86_64": (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 17780 files and directories currently installed.) Step #6 - "compile-libfuzzer-introspector-x86_64": Preparing to unpack .../0-libyaml-0-2_0.2.2-1_amd64.deb ... Step #6 - "compile-libfuzzer-introspector-x86_64": Unpacking libyaml-0-2:amd64 (0.2.2-1) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Selecting previously unselected package libjpeg-turbo8:amd64. Step #6 - "compile-libfuzzer-introspector-x86_64": Preparing to unpack .../1-libjpeg-turbo8_2.0.3-0ubuntu1.20.04.3_amd64.deb ... Step #6 - "compile-libfuzzer-introspector-x86_64": Unpacking libjpeg-turbo8:amd64 (2.0.3-0ubuntu1.20.04.3) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Selecting previously unselected package libjpeg-turbo8-dev:amd64. Step #6 - "compile-libfuzzer-introspector-x86_64": Preparing to unpack .../2-libjpeg-turbo8-dev_2.0.3-0ubuntu1.20.04.3_amd64.deb ... Step #6 - "compile-libfuzzer-introspector-x86_64": Unpacking libjpeg-turbo8-dev:amd64 (2.0.3-0ubuntu1.20.04.3) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Selecting previously unselected package libjpeg8:amd64. Step #6 - "compile-libfuzzer-introspector-x86_64": Preparing to unpack .../3-libjpeg8_8c-2ubuntu8_amd64.deb ... Step #6 - "compile-libfuzzer-introspector-x86_64": Unpacking libjpeg8:amd64 (8c-2ubuntu8) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Selecting previously unselected package libjpeg8-dev:amd64. Step #6 - "compile-libfuzzer-introspector-x86_64": Preparing to unpack .../4-libjpeg8-dev_8c-2ubuntu8_amd64.deb ... Step #6 - "compile-libfuzzer-introspector-x86_64": Unpacking libjpeg8-dev:amd64 (8c-2ubuntu8) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Selecting previously unselected package libjpeg-dev:amd64. Step #6 - "compile-libfuzzer-introspector-x86_64": Preparing to unpack .../5-libjpeg-dev_8c-2ubuntu8_amd64.deb ... Step #6 - "compile-libfuzzer-introspector-x86_64": Unpacking libjpeg-dev:amd64 (8c-2ubuntu8) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Selecting previously unselected package libyaml-dev:amd64. Step #6 - "compile-libfuzzer-introspector-x86_64": Preparing to unpack .../6-libyaml-dev_0.2.2-1_amd64.deb ... Step #6 - "compile-libfuzzer-introspector-x86_64": Unpacking libyaml-dev:amd64 (0.2.2-1) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Setting up libyaml-0-2:amd64 (0.2.2-1) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Setting up libjpeg-turbo8:amd64 (2.0.3-0ubuntu1.20.04.3) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Setting up libjpeg8:amd64 (8c-2ubuntu8) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Setting up libjpeg-turbo8-dev:amd64 (2.0.3-0ubuntu1.20.04.3) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Setting up libyaml-dev:amd64 (0.2.2-1) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Setting up libjpeg8-dev:amd64 (8c-2ubuntu8) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Setting up libjpeg-dev:amd64 (8c-2ubuntu8) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Processing triggers for libc-bin (2.31-0ubuntu9.16) ... Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: pip in /usr/local/lib/python3.10/site-packages (25.0) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: setuptools in /usr/local/lib/python3.10/site-packages (65.5.0) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting setuptools Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading setuptools-75.8.0-py3-none-any.whl.metadata (6.7 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading setuptools-75.8.0-py3-none-any.whl (1.2 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/1.2 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 29.4 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hInstalling collected packages: setuptools Step #6 - "compile-libfuzzer-introspector-x86_64": Attempting uninstall: setuptools Step #6 - "compile-libfuzzer-introspector-x86_64": Found existing installation: setuptools 65.5.0 Step #6 - "compile-libfuzzer-introspector-x86_64": Uninstalling setuptools-65.5.0: Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully uninstalled setuptools-65.5.0 Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully installed setuptools-75.8.0 Step #6 - "compile-libfuzzer-introspector-x86_64": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning. Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting cxxfilt Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading cxxfilt-0.3.0-py2.py3-none-any.whl.metadata (3.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting pyyaml Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting beautifulsoup4 Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading beautifulsoup4-4.13.1-py3-none-any.whl.metadata (3.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting lxml Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading lxml-5.3.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (3.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting soupsieve Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting rust-demangler Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading rust_demangler-1.0-py3-none-any.whl.metadata (866 bytes) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting typing-extensions>=4.0.0 (from beautifulsoup4) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading cxxfilt-0.3.0-py2.py3-none-any.whl (4.6 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (751 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/751.2 kB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 751.2/751.2 kB 20.7 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading beautifulsoup4-4.13.1-py3-none-any.whl (185 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading lxml-5.3.0-cp310-cp310-manylinux_2_28_x86_64.whl (5.0 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/5.0 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.0/5.0 MB 108.3 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading soupsieve-2.6-py3-none-any.whl (36 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading rust_demangler-1.0-py3-none-any.whl (8.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Installing collected packages: rust-demangler, cxxfilt, typing-extensions, soupsieve, pyyaml, lxml, beautifulsoup4 Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully installed beautifulsoup4-4.13.1 cxxfilt-0.3.0 lxml-5.3.0 pyyaml-6.0.2 rust-demangler-1.0 soupsieve-2.6 typing-extensions-4.12.2 Step #6 - "compile-libfuzzer-introspector-x86_64": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning. Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting matplotlib Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting contourpy>=1.0.1 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.4 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting cycler>=0.10 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading cycler-0.12.1-py3-none-any.whl.metadata (3.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting fonttools>=4.22.0 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading fonttools-4.55.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (101 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting kiwisolver>=1.3.1 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (6.2 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting numpy>=1.23 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (62 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting packaging>=20.0 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting pillow>=8 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.metadata (9.1 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting pyparsing>=2.3.1 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pyparsing-3.2.1-py3-none-any.whl.metadata (5.0 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting python-dateutil>=2.7 (from matplotlib) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib) (1.15.0) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading matplotlib-3.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/8.6 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.6/8.6 MB 104.6 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading contourpy-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (324 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading cycler-0.12.1-py3-none-any.whl (8.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading fonttools-4.55.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/4.6 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.6/4.6 MB 141.8 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading kiwisolver-1.4.8-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.6 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/1.6 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 102.9 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/16.4 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.4/16.4 MB 139.5 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading packaging-24.2-py3-none-any.whl (65 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pillow-11.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (4.5 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/4.5 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 135.2 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading pyparsing-3.2.1-py3-none-any.whl (107 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Installing collected packages: python-dateutil, pyparsing, pillow, packaging, numpy, kiwisolver, fonttools, cycler, contourpy, matplotlib Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully installed contourpy-1.3.1 cycler-0.12.1 fonttools-4.55.8 kiwisolver-1.4.8 matplotlib-3.10.0 numpy-2.2.2 packaging-24.2 pillow-11.1.0 pyparsing-3.2.1 python-dateutil-2.9.0.post0 Step #6 - "compile-libfuzzer-introspector-x86_64": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning. Step #6 - "compile-libfuzzer-introspector-x86_64": /fuzz-introspector/src /src/postgresql Step #6 - "compile-libfuzzer-introspector-x86_64": Obtaining file:///fuzz-introspector/src Step #6 - "compile-libfuzzer-introspector-x86_64": Installing build dependencies ... [?25l- \ | / done Step #6 - "compile-libfuzzer-introspector-x86_64": [?25h Checking if build backend supports build_editable ... [?25ldone Step #6 - "compile-libfuzzer-introspector-x86_64": [?25h Getting requirements to build editable ... [?25l- done Step #6 - "compile-libfuzzer-introspector-x86_64": [?25h Preparing editable metadata (pyproject.toml) ... [?25l- done Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hCollecting beautifulsoup4==4.10.0 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading beautifulsoup4-4.10.0-py3-none-any.whl.metadata (3.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: cxxfilt==0.3.0 in /usr/local/lib/python3.10/site-packages (from fuzz-introspector==0.1.7) (0.3.0) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting lxml==4.9.1 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading lxml-4.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl.metadata (3.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting matplotlib==3.7.5 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.7 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting PyYAML==6.0 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl.metadata (2.0 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting soupsieve==2.2.1 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading soupsieve-2.2.1-py3-none-any.whl.metadata (5.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting yapf==0.32.0 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading yapf-0.32.0-py2.py3-none-any.whl.metadata (34 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting flake8 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading flake8-7.1.1-py2.py3-none-any.whl.metadata (3.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting pep8 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pep8-1.7.1-py2.py3-none-any.whl.metadata (22 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting mypy (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading mypy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.metadata (2.1 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting psutil (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (22 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting toml (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting pytest (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pytest-8.3.4-py3-none-any.whl.metadata (7.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinx==6.0.0 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinx-6.0.0-py3-none-any.whl.metadata (6.2 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinx_rtd_theme (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinx_rtd_theme-3.0.2-py2.py3-none-any.whl.metadata (4.4 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting configparser (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading configparser-7.1.0-py3-none-any.whl.metadata (5.4 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting coverage (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading coverage-7.6.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (8.2 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting atheris (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading atheris-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (17 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: setuptools>=65.5.1 in /usr/local/lib/python3.10/site-packages (from fuzz-introspector==0.1.7) (75.8.0) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tqdm (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tqdm-4.67.1-py3-none-any.whl.metadata (57 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: rust-demangler in /usr/local/lib/python3.10/site-packages (from fuzz-introspector==0.1.7) (1.0) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tree-sitter==0.23.2 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter-0.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tree-sitter-python==0.23.6 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_python-0.23.6-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.9 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting networkx (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading networkx-3.4.2-py3-none-any.whl.metadata (6.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tree-sitter-languages==1.10.2 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_languages-1.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (10 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tree-sitter-c==0.23.4 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_c-0.23.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.7 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tree-sitter-cpp==0.23.4 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_cpp-0.23.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tree-sitter-go==0.23.4 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_go-0.23.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.7 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tree-sitter-java==0.23.5 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_java-0.23.5-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.7 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tree-sitter-rust==0.23.2 (from fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_rust-0.23.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/site-packages (from matplotlib==3.7.5->fuzz-introspector==0.1.7) (1.3.1) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/site-packages (from matplotlib==3.7.5->fuzz-introspector==0.1.7) (0.12.1) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/site-packages (from matplotlib==3.7.5->fuzz-introspector==0.1.7) (4.55.8) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/site-packages (from matplotlib==3.7.5->fuzz-introspector==0.1.7) (1.4.8) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting numpy<2,>=1.20 (from matplotlib==3.7.5->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (61 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.10/site-packages (from matplotlib==3.7.5->fuzz-introspector==0.1.7) (24.2) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/site-packages (from matplotlib==3.7.5->fuzz-introspector==0.1.7) (11.1.0) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/site-packages (from matplotlib==3.7.5->fuzz-introspector==0.1.7) (3.2.1) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/site-packages (from matplotlib==3.7.5->fuzz-introspector==0.1.7) (2.9.0.post0) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinxcontrib-applehelp (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinxcontrib-devhelp (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinxcontrib-jsmath (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl.metadata (1.4 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinxcontrib-htmlhelp>=2.0.0 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl.metadata (2.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinxcontrib-serializinghtml>=1.1.5 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl.metadata (2.4 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinxcontrib-qthelp (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl.metadata (2.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting Jinja2>=3.0 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting Pygments>=2.12 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pygments-2.19.1-py3-none-any.whl.metadata (2.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting docutils<0.20,>=0.18 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading docutils-0.19-py3-none-any.whl.metadata (2.7 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting snowballstemmer>=2.0 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl.metadata (6.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting babel>=2.9 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading babel-2.17.0-py3-none-any.whl.metadata (2.0 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting alabaster<0.8,>=0.7 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading alabaster-0.7.16-py3-none-any.whl.metadata (2.9 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting imagesize>=1.3 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading imagesize-1.4.1-py2.py3-none-any.whl.metadata (1.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting requests>=2.25.0 (from sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading requests-2.32.3-py3-none-any.whl.metadata (4.6 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting mccabe<0.8.0,>=0.7.0 (from flake8->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting pyflakes<3.3.0,>=3.2.0 (from flake8->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: typing_extensions>=4.6.0 in /usr/local/lib/python3.10/site-packages (from mypy->fuzz-introspector==0.1.7) (4.12.2) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting mypy_extensions>=1.0.0 (from mypy->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading mypy_extensions-1.0.0-py3-none-any.whl.metadata (1.1 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting tomli>=1.1.0 (from mypy->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Using cached tomli-2.2.1-py3-none-any.whl.metadata (10 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting exceptiongroup>=1.0.0rc8 (from pytest->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading exceptiongroup-1.2.2-py3-none-any.whl.metadata (6.6 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting iniconfig (from pytest->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading iniconfig-2.0.0-py3-none-any.whl.metadata (2.6 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting pluggy<2,>=1.5 (from pytest->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting sphinxcontrib-jquery<5,>=4 (from sphinx_rtd_theme->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl.metadata (2.6 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting MarkupSafe>=2.0 (from Jinja2>=3.0->sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.0 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib==3.7.5->fuzz-introspector==0.1.7) (1.15.0) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting charset-normalizer<4,>=2 (from requests>=2.25.0->sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting idna<4,>=2.5 (from requests>=2.25.0->sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading idna-3.10-py3-none-any.whl.metadata (10 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting urllib3<3,>=1.21.1 (from requests>=2.25.0->sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Collecting certifi>=2017.4.17 (from requests>=2.25.0->sphinx==6.0.0->fuzz-introspector==0.1.7) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading certifi-2025.1.31-py3-none-any.whl.metadata (2.5 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading beautifulsoup4-4.10.0-py3-none-any.whl (97 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading lxml-4.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (6.9 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/6.9 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.9/6.9 MB 98.6 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading matplotlib-3.7.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.6 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/11.6 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.6/11.6 MB 127.1 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (682 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/682.2 kB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 682.2/682.2 kB 44.6 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading soupsieve-2.2.1-py3-none-any.whl (33 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinx-6.0.0-py3-none-any.whl (3.0 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/3.0 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 141.0 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading tree_sitter-0.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (566 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/566.6 kB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 566.6/566.6 kB 36.1 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading tree_sitter_c-0.23.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (98 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_cpp-0.23.4-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (316 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_go-0.23.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (65 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_java-0.23.5-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (84 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_languages-1.10.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.4 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/8.4 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.4/8.4 MB 135.2 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading tree_sitter_python-0.23.6-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (112 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tree_sitter_rust-0.23.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (157 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading yapf-0.32.0-py2.py3-none-any.whl (190 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading atheris-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (30.9 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/30.9 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 30.9/30.9 MB 154.8 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading configparser-7.1.0-py3-none-any.whl (17 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading coverage-7.6.10-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading flake8-7.1.1-py2.py3-none-any.whl (57 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading mypy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (12.8 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/12.8 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.8/12.8 MB 142.7 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading networkx-3.4.2-py3-none-any.whl (1.7 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/1.7 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 112.6 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading pep8-1.7.1-py2.py3-none-any.whl (41 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading psutil-6.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pytest-8.3.4-py3-none-any.whl (343 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinx_rtd_theme-3.0.2-py2.py3-none-any.whl (7.7 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/7.7 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.7/7.7 MB 147.1 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading toml-0.10.2-py2.py3-none-any.whl (16 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading tqdm-4.67.1-py3-none-any.whl (78 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading alabaster-0.7.16-py3-none-any.whl (13 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading babel-2.17.0-py3-none-any.whl (10.2 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/10.2 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 148.3 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading docutils-0.19-py3-none-any.whl (570 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/570.5 kB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 570.5/570.5 kB 36.7 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading exceptiongroup-1.2.2-py3-none-any.whl (16 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading imagesize-1.4.1-py2.py3-none-any.whl (8.8 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading jinja2-3.1.5-py3-none-any.whl (134 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/18.2 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.2/18.2 MB 142.1 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading pluggy-1.5.0-py3-none-any.whl (20 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading pygments-2.19.1-py3-none-any.whl (1.2 MB) Step #6 - "compile-libfuzzer-introspector-x86_64": [?25l ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/1.2 MB ? eta -:--:--  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 80.5 MB/s eta 0:00:00 Step #6 - "compile-libfuzzer-introspector-x86_64": [?25hDownloading requests-2.32.3-py3-none-any.whl (64 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl (98 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_jquery-4.1-py2.py3-none-any.whl (121 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl (92 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Using cached tomli-2.2.1-py3-none-any.whl (14 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading iniconfig-2.0.0-py3-none-any.whl (5.9 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_applehelp-2.0.0-py3-none-any.whl (119 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_devhelp-2.0.0-py3-none-any.whl (82 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading sphinxcontrib_qthelp-2.0.0-py3-none-any.whl (88 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading certifi-2025.1.31-py3-none-any.whl (166 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (146 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading idna-3.10-py3-none-any.whl (70 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (20 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Downloading urllib3-2.3.0-py3-none-any.whl (128 kB) Step #6 - "compile-libfuzzer-introspector-x86_64": Building wheels for collected packages: fuzz-introspector Step #6 - "compile-libfuzzer-introspector-x86_64": Building editable for fuzz-introspector (pyproject.toml) ... [?25l- done Step #6 - "compile-libfuzzer-introspector-x86_64": [?25h Created wheel for fuzz-introspector: filename=fuzz_introspector-0.1.7-0.editable-py3-none-any.whl size=3896 sha256=c865de68aba6438ad47933f4f56ffeec89110d4b341494dcb41fdaf36ce35438 Step #6 - "compile-libfuzzer-introspector-x86_64": Stored in directory: /tmp/pip-ephem-wheel-cache-_62tme_p/wheels/ce/ec/9e/e0f680466f0d02256e58f72aba9efaf05145b62b6274f28ccb Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully built fuzz-introspector Step #6 - "compile-libfuzzer-introspector-x86_64": Installing collected packages: yapf, snowballstemmer, pep8, atheris, urllib3, tree-sitter-rust, tree-sitter-python, tree-sitter-java, tree-sitter-go, tree-sitter-cpp, tree-sitter-c, tree-sitter, tqdm, tomli, toml, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, soupsieve, PyYAML, Pygments, pyflakes, pycodestyle, psutil, pluggy, numpy, networkx, mypy_extensions, mccabe, MarkupSafe, lxml, iniconfig, imagesize, idna, exceptiongroup, docutils, coverage, configparser, charset-normalizer, certifi, babel, alabaster, tree-sitter-languages, requests, pytest, mypy, Jinja2, flake8, beautifulsoup4, sphinx, matplotlib, sphinxcontrib-jquery, sphinx_rtd_theme, fuzz-introspector Step #6 - "compile-libfuzzer-introspector-x86_64": Attempting uninstall: soupsieve Step #6 - "compile-libfuzzer-introspector-x86_64": Found existing installation: soupsieve 2.6 Step #6 - "compile-libfuzzer-introspector-x86_64": Uninstalling soupsieve-2.6: Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully uninstalled soupsieve-2.6 Step #6 - "compile-libfuzzer-introspector-x86_64": Attempting uninstall: PyYAML Step #6 - "compile-libfuzzer-introspector-x86_64": Found existing installation: PyYAML 6.0.2 Step #6 - "compile-libfuzzer-introspector-x86_64": Uninstalling PyYAML-6.0.2: Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully uninstalled PyYAML-6.0.2 Step #6 - "compile-libfuzzer-introspector-x86_64": Attempting uninstall: numpy Step #6 - "compile-libfuzzer-introspector-x86_64": Found existing installation: numpy 2.2.2 Step #6 - "compile-libfuzzer-introspector-x86_64": Uninstalling numpy-2.2.2: Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully uninstalled numpy-2.2.2 Step #6 - "compile-libfuzzer-introspector-x86_64": Attempting uninstall: lxml Step #6 - "compile-libfuzzer-introspector-x86_64": Found existing installation: lxml 5.3.0 Step #6 - "compile-libfuzzer-introspector-x86_64": Uninstalling lxml-5.3.0: Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully uninstalled lxml-5.3.0 Step #6 - "compile-libfuzzer-introspector-x86_64": Attempting uninstall: beautifulsoup4 Step #6 - "compile-libfuzzer-introspector-x86_64": Found existing installation: beautifulsoup4 4.13.1 Step #6 - "compile-libfuzzer-introspector-x86_64": Uninstalling beautifulsoup4-4.13.1: Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully uninstalled beautifulsoup4-4.13.1 Step #6 - "compile-libfuzzer-introspector-x86_64": Attempting uninstall: matplotlib Step #6 - "compile-libfuzzer-introspector-x86_64": Found existing installation: matplotlib 3.10.0 Step #6 - "compile-libfuzzer-introspector-x86_64": Uninstalling matplotlib-3.10.0: Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully uninstalled matplotlib-3.10.0 Step #6 - "compile-libfuzzer-introspector-x86_64": Successfully installed Jinja2-3.1.5 MarkupSafe-3.0.2 PyYAML-6.0 Pygments-2.19.1 alabaster-0.7.16 atheris-2.3.0 babel-2.17.0 beautifulsoup4-4.10.0 certifi-2025.1.31 charset-normalizer-3.4.1 configparser-7.1.0 coverage-7.6.10 docutils-0.19 exceptiongroup-1.2.2 flake8-7.1.1 fuzz-introspector-0.1.7 idna-3.10 imagesize-1.4.1 iniconfig-2.0.0 lxml-4.9.1 matplotlib-3.7.5 mccabe-0.7.0 mypy-1.14.1 mypy_extensions-1.0.0 networkx-3.4.2 numpy-1.26.4 pep8-1.7.1 pluggy-1.5.0 psutil-6.1.1 pycodestyle-2.12.1 pyflakes-3.2.0 pytest-8.3.4 requests-2.32.3 snowballstemmer-2.2.0 soupsieve-2.2.1 sphinx-6.0.0 sphinx_rtd_theme-3.0.2 sphinxcontrib-applehelp-2.0.0 sphinxcontrib-devhelp-2.0.0 sphinxcontrib-htmlhelp-2.1.0 sphinxcontrib-jquery-4.1 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-2.0.0 sphinxcontrib-serializinghtml-2.0.0 toml-0.10.2 tomli-2.2.1 tqdm-4.67.1 tree-sitter-0.23.2 tree-sitter-c-0.23.4 tree-sitter-cpp-0.23.4 tree-sitter-go-0.23.4 tree-sitter-java-0.23.5 tree-sitter-languages-1.10.2 tree-sitter-python-0.23.6 tree-sitter-rust-0.23.2 urllib3-2.3.0 yapf-0.32.0 Step #6 - "compile-libfuzzer-introspector-x86_64": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning. Step #6 - "compile-libfuzzer-introspector-x86_64": /src/postgresql Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:07.544 INFO cli - main: Running fuzz introspector post-processing Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.530 INFO analysis - extract_tests_from_directories: All test files Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.530 INFO analysis - extract_tests_from_directories: /src/postgresql/src/common/unicode/case_test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.531 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-describe.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.532 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-dyntest.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.532 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_ddl_deparse/test_ddl_deparse.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.533 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/examples/testlibpq.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.533 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/regress/regress.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.533 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-indicators.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.534 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/libpq/test/libpq_uri_regress.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.534 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/examples/testlo.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.534 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/dummy_seclabel/dummy_seclabel.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.535 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_lfind/test_lfind.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.535 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_copy_callbacks/test_copy_callbacks.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.535 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-intoasc.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.535 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_slru/test_multixact.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.536 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-outofscope.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.536 INFO analysis - extract_tests_from_directories: /src/postgresql/src/tools/ifaddrs/test_ifaddrs.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.536 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/ssl_passphrase_callback/ssl_passphrase_func.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.537 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_dsm_registry/test_dsm_registry.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.537 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_dsa/test_dsa.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.537 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-rfmtdate.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.537 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_rls_hooks/test_rls_hooks.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.538 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-twophase.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.538 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_ginpostinglist/test_ginpostinglist.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.538 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-whenever.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.538 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_radixtree/test_radixtree.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.539 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/plsample/plsample.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.539 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/thread-alloc.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.539 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-execute.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.539 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_oracle-char_array.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.540 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-quote.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.540 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-describe.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.540 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/connect-test2.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.540 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-oldexec.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.541 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-bytea.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.541 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/thread-descriptor.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.541 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-rfmtlong.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.541 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/dummy_index_am/dummy_index_am.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.542 INFO analysis - extract_tests_from_directories: /src/postgresql/src/backend/optimizer/util/predtest.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.542 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-define.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.542 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-dec_test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.543 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/pg_regress_ecpg.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.543 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-dynalloc2.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.543 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_regex/test_regex.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.543 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-fetch.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.543 INFO analysis - extract_tests_from_directories: /src/postgresql/src/bin/pg_test_timing/pg_test_timing.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.544 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-sqljson.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.544 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_resowner/test_resowner_many.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.544 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_resowner/test_resowner_basic.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.545 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_custom_rmgrs/test_custom_rmgrs.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.545 INFO analysis - extract_tests_from_directories: /workspace/oss-fuzz/projects/upx/fuzzers/test_packed_file_fuzzer.cpp Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.546 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-whenever_do_continue.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.546 INFO analysis - extract_tests_from_directories: /src/postgresql/contrib/test_decoding/test_decoding.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.546 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/connect-test5.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.546 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-sqlda.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.547 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.547 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-describe.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.547 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_rbtree/test_rbtree.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.547 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-cursor.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.548 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-dynalloc.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.548 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_json_parser/test_json_parser_incremental.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.548 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-test_informix.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.548 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/connect-test1.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.549 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-define.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.549 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/thread-thread_implicit.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.549 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-parser.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.549 INFO analysis - extract_tests_from_directories: /src/postgresql/src/backend/access/tablesample/tablesample.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.550 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/libpq_pipeline/libpq_pipeline.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.550 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-init.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.550 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-comment.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.551 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/injection_points/injection_stats.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.551 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/worker_spi/worker_spi.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.551 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/isolation/isolationtester.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.552 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-array_of_struct.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.552 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_shm_mq/setup.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.552 INFO analysis - extract_tests_from_directories: /src/postgresql/src/backend/access/tablesample/system.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.553 INFO analysis - extract_tests_from_directories: /src/postgresql/src/backend/access/tablesample/bernoulli.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.553 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-insupd.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.553 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/examples/testlibpq3.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.553 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-variable.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.554 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-func.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.554 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.554 INFO analysis - extract_tests_from_directories: /workspace/oss-fuzz/projects/tinyxml2/xmltest2.cpp Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.554 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/connect-test3.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.555 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/xid_wraparound/xid_wraparound.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.555 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/regress/pg_regress_main.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.555 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/injection_points/injection_points.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.555 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/ldap_password_func/ldap_password_func.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.556 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/pgtypeslib-nan_test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.556 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/delay_execution/delay_execution.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.556 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/examples/testlibpq2.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.556 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_parser/test_parser.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.557 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/isolation/isolation_main.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.557 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-strings.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.557 INFO analysis - extract_tests_from_directories: /workspace/oss-fuzz/projects/tinyxml2/xmltest.cpp Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.558 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-code100.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.558 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/thread-prep.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.558 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-copystdout.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.558 INFO analysis - extract_tests_from_directories: /src/postgresql/src/common/unicode/norm_test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.559 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-declare.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.559 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-rnull.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.559 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_json_parser/test_json_parser_perf.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.559 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_shm_mq/worker.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.560 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/injection_points/injection_stats_fixed.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.560 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-prepareas.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.560 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-autoprep.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.560 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/thread-thread.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.561 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/examples/testlibpq4.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.561 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/regress/pg_regress.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.561 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.561 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-array.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.561 INFO analysis - extract_tests_from_directories: /workspace/oss-fuzz/projects/example/my-api-repo/do_stuff_unittest.cpp Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.562 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_oat_hooks/test_oat_hooks.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.562 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-pointer_to_struct.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.562 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_integerset/test_integerset.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.563 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_predtest/test_predtest.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.563 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/spgist_name_ops/spgist_name_ops.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.563 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-sqlda.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.563 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.564 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/connect-test4.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.564 INFO analysis - extract_tests_from_directories: /src/postgresql/src/bin/pg_test_fsync/pg_test_fsync.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.564 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_bloomfilter/test_bloomfilter.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.564 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_tidstore/test_tidstore.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.565 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-desc.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.565 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_shm_mq/test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.565 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-createtableas.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.565 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/preproc-type.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.565 INFO analysis - extract_tests_from_directories: /src/postgresql/src/tools/testint128.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.566 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/test_slru/test_slru.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.566 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-sqljson_jsontable.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.566 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.566 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/compat_informix-charfuncs.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.566 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-binary.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.567 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/locale/test-ctype.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.567 INFO analysis - extract_tests_from_directories: /src/postgresql/src/common/unicode/category_test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.567 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/examples/testlo64.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.567 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/ecpg/test/expected/sql-show.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.567 INFO analysis - extract_tests_from_directories: /src/postgresql/src/test/modules/injection_points/regress_injection.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:08.567 INFO analysis - extract_tests_from_directories: /src/postgresql/src/interfaces/libpq/test/libpq_testclient.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.058 INFO cli - main: Ending fuzz introspector post-processing Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.440 INFO cli - main: Running fuzz introspector post-processing Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.505 INFO oss_fuzz - analyse_folder: Found 2406 files to include in analysis Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.505 INFO oss_fuzz - process_c_project: Going C route Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.505 INFO oss_fuzz - process_c_project: Found 2406 files to include in analysis Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.505 INFO oss_fuzz - process_c_project: Loading tree-sitter trees and create base project Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.506 INFO datatypes - __init__: Processing /src/fuzzer/dbfuzz.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.511 INFO datatypes - __init__: Processing /src/fuzzer/fuzzer_initialize.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.515 INFO datatypes - __init__: Processing /src/fuzzer/simple_query_fuzzer.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.519 INFO frontend_c - load_treesitter_trees: harness: /src/fuzzer/simple_query_fuzzer.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.519 INFO datatypes - __init__: Processing /src/fuzzer/protocol_fuzzer.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.523 INFO frontend_c - load_treesitter_trees: harness: /src/fuzzer/protocol_fuzzer.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.523 INFO datatypes - __init__: Processing /src/fuzzer/json_parser_fuzzer.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.527 INFO frontend_c - load_treesitter_trees: harness: /src/fuzzer/json_parser_fuzzer.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.527 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_test_fsync/pg_test_fsync.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.534 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pgevent/pgevent.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.537 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pgevent/pgmsgevent.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.541 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_amcheck/pg_amcheck.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PatternInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *pattern; /* Unaltered pattern from the command line */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *db_regex; /* Database regexp parsed from pattern, or Step #6 - "compile-libfuzzer-introspector-x86_64": * NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *nsp_regex; /* Schema regexp parsed from pattern, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *rel_regex; /* Relation regexp parsed from pattern, or Step #6 - "compile-libfuzzer-introspector-x86_64": * NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool heap_only; /* true if rel_regex should only match heap Step #6 - "compile-libfuzzer-introspector-x86_64": * tables */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool btree_only; /* true if rel_regex should only match btree Step #6 - "compile-libfuzzer-introspector-x86_64": * indexes */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool matched; /* true if the pattern matched in any database */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PatternInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct AmcheckOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool dbpattern; Step #6 - "compile-libfuzzer-introspector-x86_64": bool alldb; Step #6 - "compile-libfuzzer-introspector-x86_64": bool echo; Step #6 - "compile-libfuzzer-introspector-x86_64": bool verbose; Step #6 - "compile-libfuzzer-introspector-x86_64": bool strict_names; Step #6 - "compile-libfuzzer-introspector-x86_64": bool show_progress; Step #6 - "compile-libfuzzer-introspector-x86_64": int jobs; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Whether to install missing extensions, and optionally the name of the Step #6 - "compile-libfuzzer-introspector-x86_64": * schema in which to install the extension's objects. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool install_missing; Step #6 - "compile-libfuzzer-introspector-x86_64": char *install_schema; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Objects to check or not to check, as lists of PatternInfo structs. */ Step #6 - "compile-libfuzzer-introspector-x86_64": PatternInfoArray include; Step #6 - "compile-libfuzzer-introspector-x86_64": PatternInfoArray exclude; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * As an optimization, if any pattern in the exclude list applies to heap Step #6 - "compile-libfuzzer-introspector-x86_64": * tables, or similarly if any such pattern applies to btree indexes, or Step #6 - "compile-libfuzzer-introspector-x86_64": * to schemas, then these will be true, otherwise false. These should Step #6 - "compile-libfuzzer-introspector-x86_64": * always agree with what you'd conclude by grep'ing through the exclude Step #6 - "compile-libfuzzer-introspector-x86_64": * list. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool excludetbl; Step #6 - "compile-libfuzzer-introspector-x86_64": bool excludeidx; Step #6 - "compile-libfuzzer-introspector-x86_64": bool excludensp; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If any inclusion pattern exists, then we should only be checking Step #6 - "compile-libfuzzer-introspector-x86_64": * matching relations rather than all relations, so this is true iff Step #6 - "compile-libfuzzer-introspector-x86_64": * include is empty. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool allrel; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* heap table checking options */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool no_toast_expansion; Step #6 - "compile-libfuzzer-introspector-x86_64": bool reconcile_toast; Step #6 - "compile-libfuzzer-introspector-x86_64": bool on_error_stop; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 startblock; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 endblock; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *skip; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* btree index checking options */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool parent_check; Step #6 - "compile-libfuzzer-introspector-x86_64": bool rootdescend; Step #6 - "compile-libfuzzer-introspector-x86_64": bool heapallindexed; Step #6 - "compile-libfuzzer-introspector-x86_64": bool checkunique; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* heap and btree hybrid option */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool no_btree_expansion; Step #6 - "compile-libfuzzer-introspector-x86_64": } AmcheckOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct DatabaseInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *datname; Step #6 - "compile-libfuzzer-introspector-x86_64": char *amcheck_schema; /* escaped, quoted literal */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_checkunique; Step #6 - "compile-libfuzzer-introspector-x86_64": } DatabaseInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PatternInfoArray Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PatternInfo *data; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t len; Step #6 - "compile-libfuzzer-introspector-x86_64": } PatternInfoArray; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct RelationInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const DatabaseInfo *datinfo; /* shared by other relinfos */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid reloid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_heap; /* true if heap, false if btree */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *nspname; Step #6 - "compile-libfuzzer-introspector-x86_64": char *relname; Step #6 - "compile-libfuzzer-introspector-x86_64": int relpages; Step #6 - "compile-libfuzzer-introspector-x86_64": int blocks_to_check; Step #6 - "compile-libfuzzer-introspector-x86_64": char *sql; /* set during query run, pg_free'd after */ Step #6 - "compile-libfuzzer-introspector-x86_64": } RelationInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.557 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_waldump/rmgrdesc.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.561 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_waldump/compat.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.565 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_waldump/rmgrdesc.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct RmgrDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rm_name; Step #6 - "compile-libfuzzer-introspector-x86_64": void (*rm_desc) (StringInfo buf, XLogReaderState *record); Step #6 - "compile-libfuzzer-introspector-x86_64": const char *(*rm_identify) (uint8 info); Step #6 - "compile-libfuzzer-introspector-x86_64": } RmgrDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.568 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_waldump/pg_waldump.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogDumpPrivate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID timeline; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr startptr; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr endptr; Step #6 - "compile-libfuzzer-introspector-x86_64": bool endptr_reached; Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogDumpPrivate; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogDumpConfig Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* display options */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool quiet; Step #6 - "compile-libfuzzer-introspector-x86_64": bool bkp_details; Step #6 - "compile-libfuzzer-introspector-x86_64": int stop_after_records; Step #6 - "compile-libfuzzer-introspector-x86_64": int already_displayed_records; Step #6 - "compile-libfuzzer-introspector-x86_64": bool follow; Step #6 - "compile-libfuzzer-introspector-x86_64": bool stats; Step #6 - "compile-libfuzzer-introspector-x86_64": bool stats_per_record; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* filter options */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool filter_by_rmgr[RM_MAX_ID + 1]; Step #6 - "compile-libfuzzer-introspector-x86_64": bool filter_by_rmgr_enabled; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId filter_by_xid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool filter_by_xid_enabled; Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator filter_by_relation; Step #6 - "compile-libfuzzer-introspector-x86_64": bool filter_by_extended; Step #6 - "compile-libfuzzer-introspector-x86_64": bool filter_by_relation_enabled; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber filter_by_relation_block; Step #6 - "compile-libfuzzer-introspector-x86_64": bool filter_by_relation_block_enabled; Step #6 - "compile-libfuzzer-introspector-x86_64": ForkNumber filter_by_relation_forknum; Step #6 - "compile-libfuzzer-introspector-x86_64": bool filter_by_fpw; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* save options */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *save_fullpage_path; Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogDumpConfig; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.579 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_test_timing/pg_test_timing.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.583 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_verifybackup/pg_verifybackup.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct manifest_file Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 status; /* hash status */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *pathname; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 size; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_checksum_type checksum_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int checksum_length; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 *checksum_payload; Step #6 - "compile-libfuzzer-introspector-x86_64": bool matched; Step #6 - "compile-libfuzzer-introspector-x86_64": bool bad; Step #6 - "compile-libfuzzer-introspector-x86_64": } manifest_file; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct manifest_wal_range Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID tli; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr start_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr end_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": struct manifest_wal_range *next; Step #6 - "compile-libfuzzer-introspector-x86_64": struct manifest_wal_range *prev; Step #6 - "compile-libfuzzer-introspector-x86_64": } manifest_wal_range; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct manifest_data Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int version; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 system_identifier; Step #6 - "compile-libfuzzer-introspector-x86_64": manifest_files_hash *files; Step #6 - "compile-libfuzzer-introspector-x86_64": manifest_wal_range *first_wal_range; Step #6 - "compile-libfuzzer-introspector-x86_64": manifest_wal_range *last_wal_range; Step #6 - "compile-libfuzzer-introspector-x86_64": } manifest_data; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct verifier_context Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": manifest_data *manifest; Step #6 - "compile-libfuzzer-introspector-x86_64": char *backup_directory; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStringList ignore_list; Step #6 - "compile-libfuzzer-introspector-x86_64": char format; /* backup format: p(lain)/t(ar) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool skip_checksums; Step #6 - "compile-libfuzzer-introspector-x86_64": bool exit_on_error; Step #6 - "compile-libfuzzer-introspector-x86_64": bool saw_any_error; Step #6 - "compile-libfuzzer-introspector-x86_64": } verifier_context; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.587 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_verifybackup/pg_verifybackup.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct tar_file Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *relpath; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tblspc_oid; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_compress_algorithm compress_algorithm; Step #6 - "compile-libfuzzer-introspector-x86_64": } tar_file; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.598 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_verifybackup/astreamer_verify.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_verify Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields don't change once initialized. */ Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": verifier_context *context; Step #6 - "compile-libfuzzer-introspector-x86_64": char *archive_name; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tblspc_oid; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields change for each archive member. */ Step #6 - "compile-libfuzzer-introspector-x86_64": manifest_file *mfile; Step #6 - "compile-libfuzzer-introspector-x86_64": bool verify_checksum; Step #6 - "compile-libfuzzer-introspector-x86_64": bool verify_control_data; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_checksum_context *checksum_ctx; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 checksum_bytes; Step #6 - "compile-libfuzzer-introspector-x86_64": ControlFileData control_file; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 control_file_bytes; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_verify; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.604 INFO datatypes - __init__: Processing /src/postgresql/src/bin/initdb/findtimezone.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.614 INFO datatypes - __init__: Processing /src/postgresql/src/bin/initdb/initdb.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _stringlist Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *str; Step #6 - "compile-libfuzzer-introspector-x86_64": struct _stringlist *next; Step #6 - "compile-libfuzzer-introspector-x86_64": } _stringlist; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef wchar_t *save_locale_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef char *save_locale_t; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.638 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/pg_combinebackup.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct cb_cleanup_dir Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *target_path; Step #6 - "compile-libfuzzer-introspector-x86_64": bool rmtopdir; Step #6 - "compile-libfuzzer-introspector-x86_64": struct cb_cleanup_dir *next; Step #6 - "compile-libfuzzer-introspector-x86_64": } cb_cleanup_dir; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct cb_tablespace_mapping Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char old_dir[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": char new_dir[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": struct cb_tablespace_mapping *next; Step #6 - "compile-libfuzzer-introspector-x86_64": } cb_tablespace_mapping; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct cb_tablespace Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool in_place; Step #6 - "compile-libfuzzer-introspector-x86_64": char old_dir[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": char new_dir[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": struct cb_tablespace *next; Step #6 - "compile-libfuzzer-introspector-x86_64": } cb_tablespace; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct cb_options Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool debug; Step #6 - "compile-libfuzzer-introspector-x86_64": char *output; Step #6 - "compile-libfuzzer-introspector-x86_64": bool dry_run; Step #6 - "compile-libfuzzer-introspector-x86_64": bool no_sync; Step #6 - "compile-libfuzzer-introspector-x86_64": cb_tablespace_mapping *tsmappings; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_checksum_type manifest_checksums; Step #6 - "compile-libfuzzer-introspector-x86_64": bool no_manifest; Step #6 - "compile-libfuzzer-introspector-x86_64": DataDirSyncMethod sync_method; Step #6 - "compile-libfuzzer-introspector-x86_64": CopyMethod copy_method; Step #6 - "compile-libfuzzer-introspector-x86_64": } cb_options; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.648 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/copy_file.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum CopyMethod Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": COPY_METHOD_CLONE, Step #6 - "compile-libfuzzer-introspector-x86_64": COPY_METHOD_COPY, Step #6 - "compile-libfuzzer-introspector-x86_64": COPY_METHOD_COPY_FILE_RANGE, Step #6 - "compile-libfuzzer-introspector-x86_64": #ifdef WIN32 Step #6 - "compile-libfuzzer-introspector-x86_64": COPY_METHOD_COPYFILE, Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": } CopyMethod; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.652 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/backup_label.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.655 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/load_manifest.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct manifest_file Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 status; /* hash status */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *pathname; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 size; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_checksum_type checksum_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int checksum_length; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 *checksum_payload; Step #6 - "compile-libfuzzer-introspector-x86_64": } manifest_file; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct manifest_data Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 system_identifier; Step #6 - "compile-libfuzzer-introspector-x86_64": manifest_files_hash *files; Step #6 - "compile-libfuzzer-introspector-x86_64": manifest_wal_range *first_wal_range; Step #6 - "compile-libfuzzer-introspector-x86_64": manifest_wal_range *last_wal_range; Step #6 - "compile-libfuzzer-introspector-x86_64": } manifest_data; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct manifest_wal_range Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID tli; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr start_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr end_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": struct manifest_wal_range *next; Step #6 - "compile-libfuzzer-introspector-x86_64": struct manifest_wal_range *prev; Step #6 - "compile-libfuzzer-introspector-x86_64": } manifest_wal_range; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.658 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/write_manifest.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct manifest_writer manifest_writer; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.662 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/copy_file.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.667 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/load_manifest.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.671 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/write_manifest.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.677 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/reconstruct.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.680 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/reconstruct.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct rfile Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *filename; Step #6 - "compile-libfuzzer-introspector-x86_64": int fd; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t header_length; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned num_blocks; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber *relative_block_numbers; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned truncation_block_length; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned num_blocks_read; Step #6 - "compile-libfuzzer-introspector-x86_64": off_t highest_offset_read; Step #6 - "compile-libfuzzer-introspector-x86_64": } rfile; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.687 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_combinebackup/backup_label.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.692 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/describe.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.745 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/tab-complete.in.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct VersionedQuery Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int min_server_version; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *query; Step #6 - "compile-libfuzzer-introspector-x86_64": } VersionedQuery; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int id; /* case label used in match_previous_words */ Step #6 - "compile-libfuzzer-introspector-x86_64": enum TCPatternKind kind; /* match kind, see above */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nwords; /* length of words[] array */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *const *words; /* array of match words */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TCPattern; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SchemaQuery Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If not zero, minimum server version this struct applies to. If not Step #6 - "compile-libfuzzer-introspector-x86_64": * zero, there should be a following struct with a smaller minimum server Step #6 - "compile-libfuzzer-introspector-x86_64": * version; use catname == NULL in the last entry if we should do nothing. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int min_server_version; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Name of catalog or catalogs to be queried, with alias(es), eg. Step #6 - "compile-libfuzzer-introspector-x86_64": * "pg_catalog.pg_class c". Note that "pg_namespace n" and/or Step #6 - "compile-libfuzzer-introspector-x86_64": * "pg_namespace nr" will be added automatically when needed. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *catname; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Selection condition --- only rows meeting this condition are candidates Step #6 - "compile-libfuzzer-introspector-x86_64": * to display. If catname mentions multiple tables, include the necessary Step #6 - "compile-libfuzzer-introspector-x86_64": * join condition here. For example, this might look like "c.relkind = " Step #6 - "compile-libfuzzer-introspector-x86_64": * CppAsString2(RELKIND_RELATION). Write NULL (not an empty string) if Step #6 - "compile-libfuzzer-introspector-x86_64": * not needed. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *selcondition; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Visibility condition --- which rows are visible without schema Step #6 - "compile-libfuzzer-introspector-x86_64": * qualification? For example, "pg_catalog.pg_table_is_visible(c.oid)". Step #6 - "compile-libfuzzer-introspector-x86_64": * NULL if not needed. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *viscondition; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Namespace --- name of field to join to pg_namespace.oid when there is Step #6 - "compile-libfuzzer-introspector-x86_64": * schema qualification. For example, "c.relnamespace". NULL if we don't Step #6 - "compile-libfuzzer-introspector-x86_64": * want to join to pg_namespace (then any schema part in the input word Step #6 - "compile-libfuzzer-introspector-x86_64": * will be ignored). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *namespace; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Result --- the base object name to return. For example, "c.relname". Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *result; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * In some cases, it's difficult to keep the query from returning the same Step #6 - "compile-libfuzzer-introspector-x86_64": * object multiple times. Specify use_distinct to filter out duplicates. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool use_distinct; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Additional literal strings (usually keywords) to be offered along with Step #6 - "compile-libfuzzer-introspector-x86_64": * the query results. Provide a NULL-terminated array of constant Step #6 - "compile-libfuzzer-introspector-x86_64": * strings, or NULL if none. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *const *keywords; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If this query uses completion_ref_object/completion_ref_schema, Step #6 - "compile-libfuzzer-introspector-x86_64": * populate the remaining fields, else leave them NULL. When using this Step #6 - "compile-libfuzzer-introspector-x86_64": * capability, catname must include the catalog that defines the Step #6 - "compile-libfuzzer-introspector-x86_64": * completion_ref_object, and selcondition must include the join condition Step #6 - "compile-libfuzzer-introspector-x86_64": * that connects it to the result's catalog. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * refname is the field that should be equated to completion_ref_object, Step #6 - "compile-libfuzzer-introspector-x86_64": * for example "cr.relname". Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *refname; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Visibility condition to use when completion_ref_schema is not set. For Step #6 - "compile-libfuzzer-introspector-x86_64": * example, "pg_catalog.pg_table_is_visible(cr.oid)". NULL if not needed. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *refviscondition; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Name of field to join to pg_namespace.oid when completion_ref_schema is Step #6 - "compile-libfuzzer-introspector-x86_64": * set. For example, "cr.relnamespace". NULL if we don't want to Step #6 - "compile-libfuzzer-introspector-x86_64": * consider completion_ref_schema. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *refnamespace; Step #6 - "compile-libfuzzer-introspector-x86_64": } SchemaQuery; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *name; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Provide at most one of these three types of query: */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *query; /* simple query, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": const VersionedQuery *vquery; /* versioned query, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": const SchemaQuery *squery; /* schema query, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *const *keywords; /* keywords to be offered as well */ Step #6 - "compile-libfuzzer-introspector-x86_64": const bits32 flags; /* visibility flags, see below */ Step #6 - "compile-libfuzzer-introspector-x86_64": } pgsql_thing_t; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.800 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/help.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.804 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/prompt.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.809 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/command.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum _backslashResult Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_CMD_UNKNOWN = 0, /* not done parsing yet (internal only) */ Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_CMD_SEND, /* query complete; send off */ Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_CMD_SKIP_LINE, /* keep building query */ Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_CMD_TERMINATE, /* quit program */ Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_CMD_NEWEDIT, /* query buffer was changed (e.g., via \e) */ Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_CMD_ERROR, /* the execution of the backslash command Step #6 - "compile-libfuzzer-introspector-x86_64": * resulted in an error */ Step #6 - "compile-libfuzzer-introspector-x86_64": } backslashResult; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.813 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/large_obj.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.816 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/describe.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.820 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/help.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.828 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/crosstabview.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.832 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/common.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.845 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/crosstabview.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _pivot_field Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Pointer obtained from PQgetvalue() for colV or colH. Each distinct Step #6 - "compile-libfuzzer-introspector-x86_64": * value becomes an entry in the vertical header (colV), or horizontal Step #6 - "compile-libfuzzer-introspector-x86_64": * header (colH). A Null value is represented by a NULL pointer. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *name; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * When a sort is requested on an alternative column, this holds Step #6 - "compile-libfuzzer-introspector-x86_64": * PQgetvalue() for the sort column corresponding to . If Step #6 - "compile-libfuzzer-introspector-x86_64": * appear multiple times, it's the first value in the order of the results Step #6 - "compile-libfuzzer-introspector-x86_64": * that is kept. A Null value is represented by a NULL pointer. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *sort_value; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Rank of this value, starting at 0. Initially, it's the relative Step #6 - "compile-libfuzzer-introspector-x86_64": * position of the first appearance of in the resultset. For Step #6 - "compile-libfuzzer-introspector-x86_64": * example, if successive rows contain B,A,C,A,D then it's B:0,A:1,C:2,D:3 Step #6 - "compile-libfuzzer-introspector-x86_64": * When a sort column is specified, ranks get updated in a final pass to Step #6 - "compile-libfuzzer-introspector-x86_64": * reflect the desired order. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int rank; Step #6 - "compile-libfuzzer-introspector-x86_64": } pivot_field; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _avl_tree Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int count; /* Total number of nodes */ Step #6 - "compile-libfuzzer-introspector-x86_64": avl_node *root; /* root of the tree */ Step #6 - "compile-libfuzzer-introspector-x86_64": avl_node *end; /* Immutable dereferenceable empty tree */ Step #6 - "compile-libfuzzer-introspector-x86_64": } avl_tree; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _avl_node Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Node contents */ Step #6 - "compile-libfuzzer-introspector-x86_64": pivot_field field; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Height of this node in the tree (number of nodes on the longest path to Step #6 - "compile-libfuzzer-introspector-x86_64": * a leaf). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int height; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Child nodes. [0] points to left subtree, [1] to right subtree. Never Step #6 - "compile-libfuzzer-introspector-x86_64": * NULL, points to the empty node avl_tree.end when no left or right Step #6 - "compile-libfuzzer-introspector-x86_64": * value. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _avl_node *children[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": } avl_node; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.853 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/settings.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO_NONE, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO_QUERIES, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO_ERRORS, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO_ALL, Step #6 - "compile-libfuzzer-introspector-x86_64": } PSQL_ECHO; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_SEND_QUERY, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_SEND_EXTENDED_CLOSE, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_SEND_EXTENDED_PARSE, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_SEND_EXTENDED_QUERY_PARAMS, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_SEND_EXTENDED_QUERY_PREPARED, Step #6 - "compile-libfuzzer-introspector-x86_64": } PSQL_SEND_MODE; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ERROR_ROLLBACK_OFF, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ERROR_ROLLBACK_INTERACTIVE, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ERROR_ROLLBACK_ON, Step #6 - "compile-libfuzzer-introspector-x86_64": } PSQL_ERROR_ROLLBACK; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_COMP_CASE_PRESERVE_UPPER, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_COMP_CASE_PRESERVE_LOWER, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_COMP_CASE_UPPER, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_COMP_CASE_LOWER, Step #6 - "compile-libfuzzer-introspector-x86_64": } PSQL_COMP_CASE; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO_HIDDEN_OFF, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO_HIDDEN_ON, Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO_HIDDEN_NOEXEC, Step #6 - "compile-libfuzzer-introspector-x86_64": } PSQL_ECHO_HIDDEN; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": hctl_none = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": hctl_ignorespace = 1, Step #6 - "compile-libfuzzer-introspector-x86_64": hctl_ignoredups = 2, Step #6 - "compile-libfuzzer-introspector-x86_64": hctl_ignoreboth = hctl_ignorespace | hctl_ignoredups, Step #6 - "compile-libfuzzer-introspector-x86_64": } HistControl; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _psqlSettings Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PGconn *db; /* connection to backend */ Step #6 - "compile-libfuzzer-introspector-x86_64": int encoding; /* client_encoding */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *queryFout; /* where to send the query results */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool queryFoutPipe; /* queryFout is from a popen() */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *copyStream; /* Stream to read/write for \copy command */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PGresult *last_error_result; /* most recent error result, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": printQueryOpt popt; /* The active print format settings */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": char *gfname; /* one-shot file output argument for \g */ Step #6 - "compile-libfuzzer-introspector-x86_64": printQueryOpt *gsavepopt; /* if not null, saved print format settings */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": char *gset_prefix; /* one-shot prefix argument for \gset */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool gdesc_flag; /* one-shot request to describe query result */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool gexec_flag; /* one-shot request to execute query result */ Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_SEND_MODE send_mode; /* one-shot request to send query with normal Step #6 - "compile-libfuzzer-introspector-x86_64": * or extended query protocol */ Step #6 - "compile-libfuzzer-introspector-x86_64": int bind_nparams; /* number of parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **bind_params; /* parameters for extended query protocol call */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *stmtName; /* prepared statement name used for extended Step #6 - "compile-libfuzzer-introspector-x86_64": * query protocol commands */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool crosstab_flag; /* one-shot request to crosstab result */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *ctv_args[4]; /* \crosstabview arguments */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool notty; /* stdin or stdout is not a tty (as determined Step #6 - "compile-libfuzzer-introspector-x86_64": * on startup) */ Step #6 - "compile-libfuzzer-introspector-x86_64": enum trivalue getPassword; /* prompt the user for a username and password */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *cur_cmd_source; /* describe the status of the current main Step #6 - "compile-libfuzzer-introspector-x86_64": * loop */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool cur_cmd_interactive; Step #6 - "compile-libfuzzer-introspector-x86_64": int sversion; /* backend server version */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *progname; /* in case you renamed psql */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *inputfile; /* file being currently processed, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 lineno; /* also for error reporting */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 stmt_lineno; /* line number inside the current statement */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool timing; /* enable timing of all queries */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *logfile; /* session log file handle */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": VariableSpace vars; /* "shell variable" repository */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If we get a connection failure, the now-unusable PGconn is stashed here Step #6 - "compile-libfuzzer-introspector-x86_64": * until we can successfully reconnect. Never attempt to do anything with Step #6 - "compile-libfuzzer-introspector-x86_64": * this PGconn except extract parameters for a \connect attempt. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": PGconn *dead_conn; /* previous connection to backend */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The remaining fields are set by assign hooks associated with entries in Step #6 - "compile-libfuzzer-introspector-x86_64": * "vars". They should not be set directly except by those hook Step #6 - "compile-libfuzzer-introspector-x86_64": * functions. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool autocommit; Step #6 - "compile-libfuzzer-introspector-x86_64": bool on_error_stop; Step #6 - "compile-libfuzzer-introspector-x86_64": bool quiet; Step #6 - "compile-libfuzzer-introspector-x86_64": bool singleline; Step #6 - "compile-libfuzzer-introspector-x86_64": bool singlestep; Step #6 - "compile-libfuzzer-introspector-x86_64": bool hide_compression; Step #6 - "compile-libfuzzer-introspector-x86_64": bool hide_tableam; Step #6 - "compile-libfuzzer-introspector-x86_64": int fetch_count; Step #6 - "compile-libfuzzer-introspector-x86_64": int histsize; Step #6 - "compile-libfuzzer-introspector-x86_64": int ignoreeof; Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO echo; Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ECHO_HIDDEN echo_hidden; Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_ERROR_ROLLBACK on_error_rollback; Step #6 - "compile-libfuzzer-introspector-x86_64": PSQL_COMP_CASE comp_case; Step #6 - "compile-libfuzzer-introspector-x86_64": HistControl histcontrol; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *prompt1; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *prompt2; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *prompt3; Step #6 - "compile-libfuzzer-introspector-x86_64": PGVerbosity verbosity; /* current error verbosity level */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool show_all_results; Step #6 - "compile-libfuzzer-introspector-x86_64": PGContextVisibility show_context; /* current context display level */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PsqlSettings; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.857 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/tab-complete.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.860 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/input.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.866 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/prompt.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.869 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/copy.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.875 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/psqlscanslash.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.879 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/mainloop.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.882 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/stringutils.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.885 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/large_obj.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.890 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/mainloop.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.896 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/common.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.900 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/variables.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.905 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/copy.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.908 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/command.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum EditableObjectType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": EditableFunction, Step #6 - "compile-libfuzzer-introspector-x86_64": EditableView, Step #6 - "compile-libfuzzer-introspector-x86_64": } EditableObjectType; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.945 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/variables.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*VariableAssignHook) (const char *newval); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _variable *VariableSpace; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef char *(*VariableSubstituteHook) (char *newval); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.949 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/input.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.953 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/startup.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SimpleActionListCell Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": struct SimpleActionListCell *next; Step #6 - "compile-libfuzzer-introspector-x86_64": enum _actions action; Step #6 - "compile-libfuzzer-introspector-x86_64": char *val; Step #6 - "compile-libfuzzer-introspector-x86_64": } SimpleActionListCell; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SimpleActionList Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleActionListCell *head; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleActionListCell *tail; Step #6 - "compile-libfuzzer-introspector-x86_64": } SimpleActionList; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.964 INFO datatypes - __init__: Processing /src/postgresql/src/bin/psql/stringutils.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.969 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_archivecleanup/pg_archivecleanup.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.974 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/dropuser.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.978 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/createuser.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.985 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/common.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.989 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/reindexdb.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ReindexType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": REINDEX_DATABASE, Step #6 - "compile-libfuzzer-introspector-x86_64": REINDEX_INDEX, Step #6 - "compile-libfuzzer-introspector-x86_64": REINDEX_SCHEMA, Step #6 - "compile-libfuzzer-introspector-x86_64": REINDEX_SYSTEM, Step #6 - "compile-libfuzzer-introspector-x86_64": REINDEX_TABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": } ReindexType; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:09.998 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/clusterdb.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.003 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/common.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.006 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/pg_isready.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.011 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/createdb.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.017 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/dropdb.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.021 INFO datatypes - __init__: Processing /src/postgresql/src/bin/scripts/vacuumdb.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct vacuumingOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool analyze_only; Step #6 - "compile-libfuzzer-introspector-x86_64": bool verbose; Step #6 - "compile-libfuzzer-introspector-x86_64": bool and_analyze; Step #6 - "compile-libfuzzer-introspector-x86_64": bool full; Step #6 - "compile-libfuzzer-introspector-x86_64": bool freeze; Step #6 - "compile-libfuzzer-introspector-x86_64": bool disable_page_skipping; Step #6 - "compile-libfuzzer-introspector-x86_64": bool skip_locked; Step #6 - "compile-libfuzzer-introspector-x86_64": int min_xid_age; Step #6 - "compile-libfuzzer-introspector-x86_64": int min_mxid_age; Step #6 - "compile-libfuzzer-introspector-x86_64": int parallel_workers; /* >= 0 indicates user specified the Step #6 - "compile-libfuzzer-introspector-x86_64": * parallel degree, otherwise -1 */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool no_index_cleanup; Step #6 - "compile-libfuzzer-introspector-x86_64": bool force_index_cleanup; Step #6 - "compile-libfuzzer-introspector-x86_64": bool do_truncate; Step #6 - "compile-libfuzzer-introspector-x86_64": bool process_main; Step #6 - "compile-libfuzzer-introspector-x86_64": bool process_toast; Step #6 - "compile-libfuzzer-introspector-x86_64": bool skip_database_stats; Step #6 - "compile-libfuzzer-introspector-x86_64": char *buffer_usage_limit; Step #6 - "compile-libfuzzer-introspector-x86_64": } vacuumingOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OBJFILTER_NONE = 0, /* no filter used */ Step #6 - "compile-libfuzzer-introspector-x86_64": OBJFILTER_ALL_DBS = (1 << 0), /* -a | --all */ Step #6 - "compile-libfuzzer-introspector-x86_64": OBJFILTER_DATABASE = (1 << 1), /* -d | --dbname */ Step #6 - "compile-libfuzzer-introspector-x86_64": OBJFILTER_TABLE = (1 << 2), /* -t | --table */ Step #6 - "compile-libfuzzer-introspector-x86_64": OBJFILTER_SCHEMA = (1 << 3), /* -n | --schema */ Step #6 - "compile-libfuzzer-introspector-x86_64": OBJFILTER_SCHEMA_EXCLUDE = (1 << 4), /* -N | --exclude-schema */ Step #6 - "compile-libfuzzer-introspector-x86_64": } VacObjFilter; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.032 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/file.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.038 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/parallel.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *log_file; Step #6 - "compile-libfuzzer-introspector-x86_64": char *opt_log_file; Step #6 - "compile-libfuzzer-introspector-x86_64": char *cmd; Step #6 - "compile-libfuzzer-introspector-x86_64": } exec_thread_arg; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DbInfoArr *old_db_arr; Step #6 - "compile-libfuzzer-introspector-x86_64": DbInfoArr *new_db_arr; Step #6 - "compile-libfuzzer-introspector-x86_64": char *old_pgdata; Step #6 - "compile-libfuzzer-introspector-x86_64": char *new_pgdata; Step #6 - "compile-libfuzzer-introspector-x86_64": char *old_tablespace; Step #6 - "compile-libfuzzer-introspector-x86_64": } transfer_thread_arg; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.043 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/tablespace.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.047 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/task.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct UpgradeTaskStep Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": UpgradeTaskProcessCB process_cb; /* processes the results of the query */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool free_result; /* should we free the result? */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *arg; /* pointer passed to process_cb */ Step #6 - "compile-libfuzzer-introspector-x86_64": } UpgradeTaskStep; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct UpgradeTaskSlot Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": UpgradeTaskSlotState state; /* state of the slot */ Step #6 - "compile-libfuzzer-introspector-x86_64": int db_idx; /* index of the database assigned to slot */ Step #6 - "compile-libfuzzer-introspector-x86_64": int step_idx; /* index of the current step of task */ Step #6 - "compile-libfuzzer-introspector-x86_64": PGconn *conn; /* current connection managed by slot */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool ready; /* slot is ready for processing */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool select_mode; /* select() mode: true->read, false->write */ Step #6 - "compile-libfuzzer-introspector-x86_64": int sock; /* file descriptor for connection's socket */ Step #6 - "compile-libfuzzer-introspector-x86_64": } UpgradeTaskSlot; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum UpgradeTaskSlotState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FREE, /* slot available for use in a new database */ Step #6 - "compile-libfuzzer-introspector-x86_64": CONNECTING, /* waiting for connection to be established */ Step #6 - "compile-libfuzzer-introspector-x86_64": RUNNING_QUERIES, /* running/processing queries in the task */ Step #6 - "compile-libfuzzer-introspector-x86_64": } UpgradeTaskSlotState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.052 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/exec.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.058 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/function.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.063 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/util.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.068 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/info.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.076 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/server.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.082 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/dump.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.086 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/relfilenumber.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.090 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/option.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.097 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/pg_upgrade.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nslots; /* number of logical slot infos */ Step #6 - "compile-libfuzzer-introspector-x86_64": LogicalSlotInfo *slots; /* array of logical slot infos */ Step #6 - "compile-libfuzzer-introspector-x86_64": } LogicalSlotInfoArr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 ctrl_ver; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 cat_ver; Step #6 - "compile-libfuzzer-introspector-x86_64": char nextxlogfile[25]; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 chkpnt_nxtxid; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 chkpnt_nxtepoch; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 chkpnt_nxtoid; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 chkpnt_nxtmulti; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 chkpnt_nxtmxoff; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 chkpnt_oldstMulti; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 chkpnt_oldstxid; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 align; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 blocksz; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 largesz; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 walsz; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 walseg; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 ident; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 index; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 toast; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 large_object; Step #6 - "compile-libfuzzer-introspector-x86_64": bool date_is_int; Step #6 - "compile-libfuzzer-introspector-x86_64": bool float8_pass_by_value; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 data_checksum_version; Step #6 - "compile-libfuzzer-introspector-x86_64": } ControlData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PG_VERBOSE, Step #6 - "compile-libfuzzer-introspector-x86_64": PG_STATUS, /* these messages do not get a newline added */ Step #6 - "compile-libfuzzer-introspector-x86_64": PG_REPORT_NONL, /* these too */ Step #6 - "compile-libfuzzer-introspector-x86_64": PG_REPORT, Step #6 - "compile-libfuzzer-introspector-x86_64": PG_WARNING, Step #6 - "compile-libfuzzer-introspector-x86_64": PG_FATAL, Step #6 - "compile-libfuzzer-introspector-x86_64": } eLogType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*DataTypesUsageVersionCheck) (ClusterInfo *cluster); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *file; Step #6 - "compile-libfuzzer-introspector-x86_64": char path[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": } UpgradeTaskReport; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Can't use NAMEDATALEN; not guaranteed to be same on client */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *nspname; /* namespace name */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *relname; /* relation name */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid reloid; /* relation OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileNumber relfilenumber; /* relation file number */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid indtable; /* if index, OID of its table, else 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid toastheap; /* if toast table, OID of base table, else 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *tablespace; /* tablespace path; "" for cluster default */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool nsp_alloc; /* should nspname be freed? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool tblsp_alloc; /* should tablespace be freed? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } RelInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *db_collate; Step #6 - "compile-libfuzzer-introspector-x86_64": char *db_ctype; Step #6 - "compile-libfuzzer-introspector-x86_64": char db_collprovider; Step #6 - "compile-libfuzzer-introspector-x86_64": char *db_locale; Step #6 - "compile-libfuzzer-introspector-x86_64": int db_encoding; Step #6 - "compile-libfuzzer-introspector-x86_64": } DbLocaleInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DbInfo *dbs; /* array of db infos */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ndbs; /* number of db infos */ Step #6 - "compile-libfuzzer-introspector-x86_64": } DbInfoArr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TRANSFER_MODE_CLONE, Step #6 - "compile-libfuzzer-introspector-x86_64": TRANSFER_MODE_COPY, Step #6 - "compile-libfuzzer-introspector-x86_64": TRANSFER_MODE_COPY_FILE_RANGE, Step #6 - "compile-libfuzzer-introspector-x86_64": TRANSFER_MODE_LINK, Step #6 - "compile-libfuzzer-introspector-x86_64": } transferMode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *internal; /* internal log FILE */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool verbose; /* true -> be verbose in messages */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool retain; /* retain log files on success */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* Set of internal directories for output files */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *rootdir; /* Root directory, aka pg_upgrade_output.d */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *basedir; /* Base output directory, with timestamp */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *dumpdir; /* Dumps */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *logdir; /* Log files */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isatty; /* is stdout a tty */ Step #6 - "compile-libfuzzer-introspector-x86_64": } LogOpts; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool check; /* check clusters only, don't change any data */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool live_check; /* check clusters only, old server is running */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool do_sync; /* flush changes to disk */ Step #6 - "compile-libfuzzer-introspector-x86_64": transferMode transfer_mode; /* copy files or link them? */ Step #6 - "compile-libfuzzer-introspector-x86_64": int jobs; /* number of processes/threads to use */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *socketdir; /* directory to use for Unix sockets */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *sync_method; Step #6 - "compile-libfuzzer-introspector-x86_64": } UserOpts; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *progname; /* complete pathname for this program */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *user; /* username for clusters */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool user_specified; /* user specified on command-line */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **old_tablespaces; /* tablespaces */ Step #6 - "compile-libfuzzer-introspector-x86_64": int num_old_tablespaces; Step #6 - "compile-libfuzzer-introspector-x86_64": LibraryInfo *libraries; /* loadable libraries */ Step #6 - "compile-libfuzzer-introspector-x86_64": int num_libraries; Step #6 - "compile-libfuzzer-introspector-x86_64": ClusterInfo *running_cluster; Step #6 - "compile-libfuzzer-introspector-x86_64": } OSInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *name; Step #6 - "compile-libfuzzer-introspector-x86_64": int dbnum; Step #6 - "compile-libfuzzer-introspector-x86_64": } LibraryInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid db_oid; /* oid of the database */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *db_name; /* database name */ Step #6 - "compile-libfuzzer-introspector-x86_64": char db_tablespace[MAXPGPATH]; /* database default tablespace Step #6 - "compile-libfuzzer-introspector-x86_64": * path */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelInfoArr rel_arr; /* array of all user relinfos */ Step #6 - "compile-libfuzzer-introspector-x86_64": LogicalSlotInfoArr slot_arr; /* array of all LogicalSlotInfo */ Step #6 - "compile-libfuzzer-introspector-x86_64": } DbInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ControlData controldata; /* pg_control information */ Step #6 - "compile-libfuzzer-introspector-x86_64": DbLocaleInfo *template0; /* template0 locale info */ Step #6 - "compile-libfuzzer-introspector-x86_64": DbInfoArr dbarr; /* dbinfos array */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *pgdata; /* pathname for cluster's $PGDATA directory */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *pgconfig; /* pathname for cluster's config file Step #6 - "compile-libfuzzer-introspector-x86_64": * directory */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *bindir; /* pathname for cluster's executable directory */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *pgopts; /* options to pass to the server, like pg_ctl Step #6 - "compile-libfuzzer-introspector-x86_64": * -o */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *sockdir; /* directory for Unix Domain socket, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned short port; /* port number where postmaster is waiting */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 major_version; /* PG_VERSION of cluster */ Step #6 - "compile-libfuzzer-introspector-x86_64": char major_version_str[64]; /* string PG_VERSION of cluster */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 bin_version; /* version returned from pg_ctl */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *tablespace_suffix; /* directory specification */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nsubs; /* number of subscriptions */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ClusterInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct UpgradeTask UpgradeTask; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *slotname; /* slot name */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *plugin; /* plugin */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool two_phase; /* can the slot decode 2PC? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool caught_up; /* has the slot caught up to latest changes? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool invalid; /* if true, the slot is unusable */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool failover; /* is the slot designated to be synced to the Step #6 - "compile-libfuzzer-introspector-x86_64": * physical standby? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } LogicalSlotInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*UpgradeTaskProcessCB) (DbInfo *dbinfo, PGresult *res, void *arg); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RelInfo *rels; Step #6 - "compile-libfuzzer-introspector-x86_64": int nrels; Step #6 - "compile-libfuzzer-introspector-x86_64": } RelInfoArr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *old_tablespace; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *new_tablespace; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *old_tablespace_suffix; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *new_tablespace_suffix; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid db_oid; Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileNumber relfilenumber; Step #6 - "compile-libfuzzer-introspector-x86_64": /* the rest are used only for logging and error reporting */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *nspname; /* namespaces */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *relname; Step #6 - "compile-libfuzzer-introspector-x86_64": } FileNameMap; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.104 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/check.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Status line to print to the user */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *status; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Filename to store report to */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *report_filename; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Query to extract the oid of the datatype */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *base_query; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Text to store to report in case of error */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *report_text; Step #6 - "compile-libfuzzer-introspector-x86_64": /* The latest version where the check applies */ Step #6 - "compile-libfuzzer-introspector-x86_64": int threshold_version; Step #6 - "compile-libfuzzer-introspector-x86_64": /* A function pointer for determining if the check applies */ Step #6 - "compile-libfuzzer-introspector-x86_64": DataTypesUsageVersionCheck version_hook; Step #6 - "compile-libfuzzer-introspector-x86_64": } DataTypesUsageChecks; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.117 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/controldata.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.125 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/pg_upgrade.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.134 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_upgrade/version.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.139 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/timeline.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.143 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/pg_rewind.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.152 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/rewind_source.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct rewind_source Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Traverse all files in the source data directory, and call 'callback' on Step #6 - "compile-libfuzzer-introspector-x86_64": * each file. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*traverse_files) (struct rewind_source *, Step #6 - "compile-libfuzzer-introspector-x86_64": process_file_callback_t callback); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Fetch a single file into a malloc'd buffer. The file size is returned Step #6 - "compile-libfuzzer-introspector-x86_64": * in *filesize. The returned buffer is always zero-terminated, which is Step #6 - "compile-libfuzzer-introspector-x86_64": * handy for text files. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *(*fetch_file) (struct rewind_source *, const char *path, Step #6 - "compile-libfuzzer-introspector-x86_64": size_t *filesize); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Request to fetch (part of) a file in the source system, specified by an Step #6 - "compile-libfuzzer-introspector-x86_64": * offset and length, and write it to the same offset in the corresponding Step #6 - "compile-libfuzzer-introspector-x86_64": * target file. The source implementation may queue up the request and Step #6 - "compile-libfuzzer-introspector-x86_64": * execute it later when convenient. Call finish_fetch() to flush the Step #6 - "compile-libfuzzer-introspector-x86_64": * queue and execute all requests. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*queue_fetch_range) (struct rewind_source *, const char *path, Step #6 - "compile-libfuzzer-introspector-x86_64": off_t offset, size_t len); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Like queue_fetch_range(), but requests replacing the whole local file Step #6 - "compile-libfuzzer-introspector-x86_64": * from the source system. 'len' is the expected length of the file, Step #6 - "compile-libfuzzer-introspector-x86_64": * although when the source is a live server, the file may change Step #6 - "compile-libfuzzer-introspector-x86_64": * concurrently. The implementation is not obliged to copy more than 'len' Step #6 - "compile-libfuzzer-introspector-x86_64": * bytes, even if the file is larger. However, to avoid copying a Step #6 - "compile-libfuzzer-introspector-x86_64": * truncated version of the file, which can cause trouble if e.g. a Step #6 - "compile-libfuzzer-introspector-x86_64": * configuration file is modified concurrently, the implementation should Step #6 - "compile-libfuzzer-introspector-x86_64": * try to copy the whole file, even if it's larger than expected. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*queue_fetch_file) (struct rewind_source *, const char *path, Step #6 - "compile-libfuzzer-introspector-x86_64": size_t len); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Execute all requests queued up with queue_fetch_range(). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*finish_fetch) (struct rewind_source *); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Get the current WAL insert position in the source system. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr (*get_current_wal_insert_lsn) (struct rewind_source *); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Free this rewind_source object. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*destroy) (struct rewind_source *); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": } rewind_source; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.156 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/local_source.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": rewind_source common; /* common interface functions */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": const char *datadir; /* path to the source data directory */ Step #6 - "compile-libfuzzer-introspector-x86_64": } local_source; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.160 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/parsexlog.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogPageReadPrivate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *restoreCommand; Step #6 - "compile-libfuzzer-introspector-x86_64": int tliIndex; Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogPageReadPrivate; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.166 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/datapagemap.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.170 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/pg_rewind.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.173 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/datapagemap.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct datapagemap datapagemap_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct datapagemap_iterator datapagemap_iterator_t; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.177 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/filemap.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct keepwal_entry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *path; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 status; Step #6 - "compile-libfuzzer-introspector-x86_64": } keepwal_entry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.184 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/file_ops.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.190 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/filemap.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_ACTION_UNDECIDED = 0, /* not decided yet */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_ACTION_CREATE, /* create local directory or symbolic link */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_ACTION_COPY, /* copy whole file, overwriting if exists */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_ACTION_COPY_TAIL, /* copy tail from 'source_size' to Step #6 - "compile-libfuzzer-introspector-x86_64": * 'target_size' */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_ACTION_NONE, /* no action (we might still copy modified Step #6 - "compile-libfuzzer-introspector-x86_64": * blocks based on the parsed WAL) */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_ACTION_TRUNCATE, /* truncate local file to 'newsize' bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_ACTION_REMOVE, /* remove local file / directory / symlink */ Step #6 - "compile-libfuzzer-introspector-x86_64": } file_action_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_TYPE_UNDEFINED = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_TYPE_REGULAR, Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_TYPE_DIRECTORY, Step #6 - "compile-libfuzzer-introspector-x86_64": FILE_TYPE_SYMLINK, Step #6 - "compile-libfuzzer-introspector-x86_64": } file_type_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct file_entry_t Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 status; /* hash status */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": const char *path; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isrelfile; /* is it a relation data file? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Status of the file in the target. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool target_exists; Step #6 - "compile-libfuzzer-introspector-x86_64": file_type_t target_type; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t target_size; /* for a regular file */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *target_link_target; /* for a symlink */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Pages that were modified in the target and need to be replaced from the Step #6 - "compile-libfuzzer-introspector-x86_64": * source. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": datapagemap_t target_pages_to_overwrite; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Status of the file in the source. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool source_exists; Step #6 - "compile-libfuzzer-introspector-x86_64": file_type_t source_type; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t source_size; Step #6 - "compile-libfuzzer-introspector-x86_64": char *source_link_target; /* for a symlink */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * What will we do to the file? Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": file_action_t action; Step #6 - "compile-libfuzzer-introspector-x86_64": } file_entry_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct filemap_t Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Summary information, filled by calculate_totals() */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 total_size; /* total size of the source cluster */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 fetch_size; /* number of bytes that needs to be copied */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nentries; /* size of 'entries' array */ Step #6 - "compile-libfuzzer-introspector-x86_64": file_entry_t *entries[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } filemap_t; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.194 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/libpq_source.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *path; /* path relative to data directory root */ Step #6 - "compile-libfuzzer-introspector-x86_64": off_t offset; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t length; Step #6 - "compile-libfuzzer-introspector-x86_64": } fetch_range_request; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": rewind_source common; /* common interface functions */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PGconn *conn; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Queue of chunks that have been requested with the queue_fetch_range() Step #6 - "compile-libfuzzer-introspector-x86_64": * function, but have not been fetched from the remote server yet. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int num_requests; Step #6 - "compile-libfuzzer-introspector-x86_64": fetch_range_request request_queue[MAX_CHUNKS_PER_QUERY]; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* temporary space for process_queued_fetch_requests() */ Step #6 - "compile-libfuzzer-introspector-x86_64": StringInfoData paths; Step #6 - "compile-libfuzzer-introspector-x86_64": StringInfoData offsets; Step #6 - "compile-libfuzzer-introspector-x86_64": StringInfoData lengths; Step #6 - "compile-libfuzzer-introspector-x86_64": } libpq_source; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.201 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_rewind/file_ops.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*process_file_callback_t) (const char *path, file_type_t type, size_t size, const char *link_target); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.204 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_walsummary/pg_walsummary.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ws_options Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool individual; Step #6 - "compile-libfuzzer-introspector-x86_64": bool quiet; Step #6 - "compile-libfuzzer-introspector-x86_64": } ws_options; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ws_file_info Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int fd; Step #6 - "compile-libfuzzer-introspector-x86_64": char *filename; Step #6 - "compile-libfuzzer-introspector-x86_64": } ws_file_info; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.209 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_config/pg_config.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *switchname; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *configname; Step #6 - "compile-libfuzzer-introspector-x86_64": } InfoItem; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.213 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_checksums/pg_checksums.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PG_MODE_CHECK, Step #6 - "compile-libfuzzer-introspector-x86_64": PG_MODE_DISABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": PG_MODE_ENABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": } PgChecksumMode; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.220 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_controldata/pg_controldata.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.226 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_resetwal/pg_resetwal.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.236 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/walmethods.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct DirectoryMethodData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": WalWriteMethod base; Step #6 - "compile-libfuzzer-introspector-x86_64": char *basedir; Step #6 - "compile-libfuzzer-introspector-x86_64": } DirectoryMethodData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TarMethodFile Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Walfile base; Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t ofs_start; /* Where does the *header* for this file start */ Step #6 - "compile-libfuzzer-introspector-x86_64": char header[TAR_BLOCK_SIZE]; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t pad_to_size; Step #6 - "compile-libfuzzer-introspector-x86_64": } TarMethodFile; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct DirectoryMethodFile Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Walfile base; Step #6 - "compile-libfuzzer-introspector-x86_64": int fd; Step #6 - "compile-libfuzzer-introspector-x86_64": char *fullpath; Step #6 - "compile-libfuzzer-introspector-x86_64": char *temp_suffix; Step #6 - "compile-libfuzzer-introspector-x86_64": #ifdef HAVE_LIBZ Step #6 - "compile-libfuzzer-introspector-x86_64": gzFile gzfp; Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": #ifdef USE_LZ4 Step #6 - "compile-libfuzzer-introspector-x86_64": LZ4F_compressionContext_t ctx; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t lz4bufsize; Step #6 - "compile-libfuzzer-introspector-x86_64": void *lz4buf; Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": } DirectoryMethodFile; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TarMethodData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": WalWriteMethod base; Step #6 - "compile-libfuzzer-introspector-x86_64": char *tarfilename; Step #6 - "compile-libfuzzer-introspector-x86_64": int fd; Step #6 - "compile-libfuzzer-introspector-x86_64": TarMethodFile *currentfile; Step #6 - "compile-libfuzzer-introspector-x86_64": #ifdef HAVE_LIBZ Step #6 - "compile-libfuzzer-introspector-x86_64": z_streamp zp; Step #6 - "compile-libfuzzer-introspector-x86_64": void *zlibOut; Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": } TarMethodData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.248 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/pg_recvlogical.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": STREAM_STOP_NONE, Step #6 - "compile-libfuzzer-introspector-x86_64": STREAM_STOP_END_OF_WAL, Step #6 - "compile-libfuzzer-introspector-x86_64": STREAM_STOP_KEEPALIVE, Step #6 - "compile-libfuzzer-introspector-x86_64": STREAM_STOP_SIGNAL Step #6 - "compile-libfuzzer-introspector-x86_64": } StreamStopReason; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.257 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/pg_createsubscriber.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.273 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/streamutil.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.276 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/pg_receivewal.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.284 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/receivelog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*stream_stop_callback) (XLogRecPtr segendpos, uint32 timeline, bool segment_finished); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct StreamCtl Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr startpos; /* Start position for streaming */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID timeline; /* Timeline to stream data from */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *sysidentifier; /* Validate this system identifier and Step #6 - "compile-libfuzzer-introspector-x86_64": * timeline */ Step #6 - "compile-libfuzzer-introspector-x86_64": int standby_message_timeout; /* Send status messages this often */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool synchronous; /* Flush immediately WAL data on write */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool mark_done; /* Mark segment as done in generated archive */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool do_sync; /* Flush to disk to ensure consistent state of Step #6 - "compile-libfuzzer-introspector-x86_64": * data */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": stream_stop_callback stream_stop; /* Stop streaming when returns true */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": pgsocket stop_socket; /* if valid, watch for input on this socket Step #6 - "compile-libfuzzer-introspector-x86_64": * and check stream_stop() when there is any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": WalWriteMethod *walmethod; /* How to write the WAL */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *partial_suffix; /* Suffix appended to partially received files */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *replication_slot; /* Replication slot to use, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": } StreamCtl; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.288 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/receivelog.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.297 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/pg_basebackup.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TablespaceListCell Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": struct TablespaceListCell *next; Step #6 - "compile-libfuzzer-introspector-x86_64": char old_dir[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": char new_dir[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": } TablespaceListCell; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ArchiveStreamState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int tablespacenum; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_compress_specification *compress; Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer *streamer; Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer *manifest_inject_streamer; Step #6 - "compile-libfuzzer-introspector-x86_64": PQExpBuffer manifest_buffer; Step #6 - "compile-libfuzzer-introspector-x86_64": char manifest_filename[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *manifest_file; Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiveStreamState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WriteManifestState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char filename[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *file; Step #6 - "compile-libfuzzer-introspector-x86_64": } WriteManifestState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": NO_WAL, Step #6 - "compile-libfuzzer-introspector-x86_64": FETCH_WAL, Step #6 - "compile-libfuzzer-introspector-x86_64": STREAM_WAL, Step #6 - "compile-libfuzzer-introspector-x86_64": } IncludeWal; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TablespaceList Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TablespaceListCell *head; Step #6 - "compile-libfuzzer-introspector-x86_64": TablespaceListCell *tail; Step #6 - "compile-libfuzzer-introspector-x86_64": } TablespaceList; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WriteTarState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int tablespacenum; Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer *streamer; Step #6 - "compile-libfuzzer-introspector-x86_64": } WriteTarState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*WriteDataCallback) (size_t nbytes, char *buf, Step #6 - "compile-libfuzzer-introspector-x86_64": void *callback_data); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PGconn *bgconn; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr startptr; Step #6 - "compile-libfuzzer-introspector-x86_64": char xlog[MAXPGPATH]; /* directory or tarfile depending on mode */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *sysidentifier; Step #6 - "compile-libfuzzer-introspector-x86_64": int timeline; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_compress_algorithm wal_compress_algorithm; Step #6 - "compile-libfuzzer-introspector-x86_64": int wal_compress_level; Step #6 - "compile-libfuzzer-introspector-x86_64": } logstreamer_param; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": COMPRESS_LOCATION_UNSPECIFIED, Step #6 - "compile-libfuzzer-introspector-x86_64": COMPRESS_LOCATION_CLIENT, Step #6 - "compile-libfuzzer-introspector-x86_64": COMPRESS_LOCATION_SERVER, Step #6 - "compile-libfuzzer-introspector-x86_64": } CompressionLocation; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.315 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/astreamer_inject.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_recovery_injector Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": bool skip_file; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_recovery_guc_supported; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_postgresql_auto_conf; Step #6 - "compile-libfuzzer-introspector-x86_64": bool found_postgresql_auto_conf; Step #6 - "compile-libfuzzer-introspector-x86_64": PQExpBuffer recoveryconfcontents; Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer_member member; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_recovery_injector; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.320 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/streamutil.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.328 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/astreamer_inject.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.331 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_basebackup/walmethods.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WalWriteMethod WalWriteMethod; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": WalWriteMethod *wwmethod; Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t currpos; Step #6 - "compile-libfuzzer-introspector-x86_64": char *pathname; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * MORE DATA FOLLOWS AT END OF STRUCT Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Each WalWriteMethod is expected to embed this as the first member of a Step #6 - "compile-libfuzzer-introspector-x86_64": * larger struct with method-specific fields following. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } Walfile; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": CLOSE_NORMAL, Step #6 - "compile-libfuzzer-introspector-x86_64": CLOSE_UNLINK, Step #6 - "compile-libfuzzer-introspector-x86_64": CLOSE_NO_RENAME, Step #6 - "compile-libfuzzer-introspector-x86_64": } WalCloseMethod; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WalWriteMethodOps Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Open a target file. Returns Walfile, or NULL if open failed. If a temp Step #6 - "compile-libfuzzer-introspector-x86_64": * suffix is specified, a file with that name will be opened, and then Step #6 - "compile-libfuzzer-introspector-x86_64": * automatically renamed in close(). If pad_to_size is specified, the file Step #6 - "compile-libfuzzer-introspector-x86_64": * will be padded with NUL up to that size, if supported by the Walmethod. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Walfile *(*open_for_write) (WalWriteMethod *wwmethod, const char *pathname, const char *temp_suffix, size_t pad_to_size); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Close an open Walfile, using one or more methods for handling automatic Step #6 - "compile-libfuzzer-introspector-x86_64": * unlinking etc. Returns 0 on success, other values for error. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int (*close) (Walfile *f, WalCloseMethod method); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Check if a file exist */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*existsfile) (WalWriteMethod *wwmethod, const char *pathname); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Return the size of a file, or -1 on failure. */ Step #6 - "compile-libfuzzer-introspector-x86_64": ssize_t (*get_file_size) (WalWriteMethod *wwmethod, const char *pathname); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Return the name of the current file to work on in pg_malloc()'d string, Step #6 - "compile-libfuzzer-introspector-x86_64": * without the base directory. This is useful for logging. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *(*get_file_name) (WalWriteMethod *wwmethod, const char *pathname, const char *temp_suffix); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Write count number of bytes to the file, and return the number of bytes Step #6 - "compile-libfuzzer-introspector-x86_64": * actually written or -1 for error. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": ssize_t (*write) (Walfile *f, const void *buf, size_t count); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * fsync the contents of the specified file. Returns 0 on success. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int (*sync) (Walfile *f); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Clean up the Walmethod, closing any shared resources. For methods like Step #6 - "compile-libfuzzer-introspector-x86_64": * tar, this includes writing updated headers. Returns true if the Step #6 - "compile-libfuzzer-introspector-x86_64": * close/write/sync of shared resources succeeded, otherwise returns false Step #6 - "compile-libfuzzer-introspector-x86_64": * (but the resources are still closed). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*finish) (WalWriteMethod *wwmethod); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Free subsidiary data associated with the WalWriteMethod, and the Step #6 - "compile-libfuzzer-introspector-x86_64": * WalWriteMethod itself. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*free) (WalWriteMethod *wwmethod); Step #6 - "compile-libfuzzer-introspector-x86_64": } WalWriteMethodOps; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.335 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_ctl/pg_ctl.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SMART_MODE, Step #6 - "compile-libfuzzer-introspector-x86_64": FAST_MODE, Step #6 - "compile-libfuzzer-introspector-x86_64": IMMEDIATE_MODE, Step #6 - "compile-libfuzzer-introspector-x86_64": } ShutdownMode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": POSTMASTER_READY, Step #6 - "compile-libfuzzer-introspector-x86_64": POSTMASTER_STILL_STARTING, Step #6 - "compile-libfuzzer-introspector-x86_64": POSTMASTER_SHUTDOWN_IN_RECOVERY, Step #6 - "compile-libfuzzer-introspector-x86_64": POSTMASTER_FAILED, Step #6 - "compile-libfuzzer-introspector-x86_64": } WaitPMResult; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": NO_COMMAND = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": INIT_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": START_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": STOP_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": RESTART_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": RELOAD_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": STATUS_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": PROMOTE_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": LOGROTATE_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": KILL_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": REGISTER_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": UNREGISTER_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": RUN_AS_SERVICE_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": } CtlCommand; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.353 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pgbench/pgbench.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *name; /* variable's name */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *svalue; /* its value in string form, if known */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgBenchValue value; /* actual variable's value */ Step #6 - "compile-libfuzzer-introspector-x86_64": } Variable; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int tid; /* thread id */ Step #6 - "compile-libfuzzer-introspector-x86_64": THREAD_T thread; /* thread handle */ Step #6 - "compile-libfuzzer-introspector-x86_64": CState *state; /* array of CState */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nstate; /* length of state[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Separate randomness for each thread. Each thread option uses its own Step #6 - "compile-libfuzzer-introspector-x86_64": * random state to make all of them independent of each other and Step #6 - "compile-libfuzzer-introspector-x86_64": * therefore deterministic at the thread level. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_prng_state ts_choose_rs; /* random state for selecting a script */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_prng_state ts_throttle_rs; /* random state for transaction throttling */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_prng_state ts_sample_rs; /* random state for log sampling */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int64 throttle_trigger; /* previous/next throttling (us) */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *logfile; /* where to log, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* per thread collected stats in microseconds */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t create_time; /* thread creation time */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t started_time; /* thread is running */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t bench_start; /* thread is benchmarking */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t conn_duration; /* cumulated connection and disconnection Step #6 - "compile-libfuzzer-introspector-x86_64": * delays */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": StatsData stats; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 latency_late; /* count executed but late transactions */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum QueryMode Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": QUERY_SIMPLE, /* simple query */ Step #6 - "compile-libfuzzer-introspector-x86_64": QUERY_EXTENDED, /* extended query */ Step #6 - "compile-libfuzzer-introspector-x86_64": QUERY_PREPARED, /* extended query with prepared statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": NUM_QUERYMODE Step #6 - "compile-libfuzzer-introspector-x86_64": } QueryMode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct socket_set Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int maxfds; /* allocated length of pollfds[] array */ Step #6 - "compile-libfuzzer-introspector-x86_64": int curfds; /* number currently in use */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct pollfd pollfds[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } socket_set; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PGconn *con; /* connection handle to DB */ Step #6 - "compile-libfuzzer-introspector-x86_64": int id; /* client No. */ Step #6 - "compile-libfuzzer-introspector-x86_64": ConnectionStateEnum state; /* state machine's current state. */ Step #6 - "compile-libfuzzer-introspector-x86_64": ConditionalStack cstack; /* enclosing conditionals state */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Separate randomness for each client. This is used for random functions Step #6 - "compile-libfuzzer-introspector-x86_64": * PGBENCH_RANDOM_* during the execution of the script. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_prng_state cs_func_rs; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int use_file; /* index in sql_script for this client */ Step #6 - "compile-libfuzzer-introspector-x86_64": int command; /* command number in script */ Step #6 - "compile-libfuzzer-introspector-x86_64": int num_syncs; /* number of ongoing sync commands */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* client variables */ Step #6 - "compile-libfuzzer-introspector-x86_64": Variables variables; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* various times about current transaction in microseconds */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t txn_scheduled; /* scheduled start time of transaction */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t sleep_until; /* scheduled start time of next cmd */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t txn_begin; /* used for measuring schedule lag times */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t stmt_begin; /* used for measuring statement latencies */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* whether client prepared each command of each script */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool **prepared; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * For processing failures and repeating transactions with serialization Step #6 - "compile-libfuzzer-introspector-x86_64": * or deadlock errors: Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": EStatus estatus; /* the error status of the current transaction Step #6 - "compile-libfuzzer-introspector-x86_64": * execution; this is ESTATUS_NO_ERROR if Step #6 - "compile-libfuzzer-introspector-x86_64": * there were no errors */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_prng_state random_state; /* random state */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 tries; /* how many times have we already tried the Step #6 - "compile-libfuzzer-introspector-x86_64": * current transaction? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* per client collected stats */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 cnt; /* client transaction count, for -t; skipped Step #6 - "compile-libfuzzer-introspector-x86_64": * and failed transactions are also counted Step #6 - "compile-libfuzzer-introspector-x86_64": * here */ Step #6 - "compile-libfuzzer-introspector-x86_64": } CState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SimpleStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int64 count; /* how many values were encountered */ Step #6 - "compile-libfuzzer-introspector-x86_64": double min; /* the minimum seen */ Step #6 - "compile-libfuzzer-introspector-x86_64": double max; /* the maximum seen */ Step #6 - "compile-libfuzzer-introspector-x86_64": double sum; /* sum of values */ Step #6 - "compile-libfuzzer-introspector-x86_64": double sum2; /* sum of squared values */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SimpleStats; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParsedScript Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *desc; /* script descriptor (eg, file name) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int weight; /* selection weight */ Step #6 - "compile-libfuzzer-introspector-x86_64": Command **commands; /* NULL-terminated array of Commands */ Step #6 - "compile-libfuzzer-introspector-x86_64": StatsData stats; /* total time spent in script */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ParsedScript; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PART_NONE, /* no partitioning */ Step #6 - "compile-libfuzzer-introspector-x86_64": PART_RANGE, /* range partitioning */ Step #6 - "compile-libfuzzer-introspector-x86_64": PART_HASH, /* hash partitioning */ Step #6 - "compile-libfuzzer-introspector-x86_64": } partition_method_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Variable *vars; /* array of variable definitions */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nvars; /* number of variables */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The maximum number of variables that we can currently store in 'vars' Step #6 - "compile-libfuzzer-introspector-x86_64": * without having to reallocate more space. We must always have max_vars Step #6 - "compile-libfuzzer-introspector-x86_64": * >= nvars. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int max_vars; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool vars_sorted; /* are variables sorted by name? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } Variables; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct StatsData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_usec_t start_time; /* interval start time, for aggregates */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*---------- Step #6 - "compile-libfuzzer-introspector-x86_64": * Transactions are counted depending on their execution and outcome. Step #6 - "compile-libfuzzer-introspector-x86_64": * First a transaction may have started or not: skipped transactions occur Step #6 - "compile-libfuzzer-introspector-x86_64": * under --rate and --latency-limit when the client is too late to execute Step #6 - "compile-libfuzzer-introspector-x86_64": * them. Secondly, a started transaction may ultimately succeed or fail, Step #6 - "compile-libfuzzer-introspector-x86_64": * possibly after some retries when --max-tries is not one. Thus Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * the number of all transactions = Step #6 - "compile-libfuzzer-introspector-x86_64": * 'skipped' (it was too late to execute them) + Step #6 - "compile-libfuzzer-introspector-x86_64": * 'cnt' (the number of successful transactions) + Step #6 - "compile-libfuzzer-introspector-x86_64": * 'failed' (the number of failed transactions). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * A successful transaction can have several unsuccessful tries before a Step #6 - "compile-libfuzzer-introspector-x86_64": * successful run. Thus Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 'cnt' (the number of successful transactions) = Step #6 - "compile-libfuzzer-introspector-x86_64": * successfully retried transactions (they got a serialization or a Step #6 - "compile-libfuzzer-introspector-x86_64": * deadlock error(s), but were Step #6 - "compile-libfuzzer-introspector-x86_64": * successfully retried from the very Step #6 - "compile-libfuzzer-introspector-x86_64": * beginning) + Step #6 - "compile-libfuzzer-introspector-x86_64": * directly successful transactions (they were successfully completed on Step #6 - "compile-libfuzzer-introspector-x86_64": * the first try). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * A failed transaction is defined as unsuccessfully retried transactions. Step #6 - "compile-libfuzzer-introspector-x86_64": * It can be one of two types: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * failed (the number of failed transactions) = Step #6 - "compile-libfuzzer-introspector-x86_64": * 'serialization_failures' (they got a serialization error and were not Step #6 - "compile-libfuzzer-introspector-x86_64": * successfully retried) + Step #6 - "compile-libfuzzer-introspector-x86_64": * 'deadlock_failures' (they got a deadlock error and were not Step #6 - "compile-libfuzzer-introspector-x86_64": * successfully retried). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * If the transaction was retried after a serialization or a deadlock Step #6 - "compile-libfuzzer-introspector-x86_64": * error this does not guarantee that this retry was successful. Thus Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 'retries' (number of retries) = Step #6 - "compile-libfuzzer-introspector-x86_64": * number of retries in all retried transactions = Step #6 - "compile-libfuzzer-introspector-x86_64": * number of retries in (successfully retried transactions + Step #6 - "compile-libfuzzer-introspector-x86_64": * failed transactions); Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 'retried' (number of all retried transactions) = Step #6 - "compile-libfuzzer-introspector-x86_64": * successfully retried transactions + Step #6 - "compile-libfuzzer-introspector-x86_64": * failed transactions. Step #6 - "compile-libfuzzer-introspector-x86_64": *---------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 cnt; /* number of successful transactions, not Step #6 - "compile-libfuzzer-introspector-x86_64": * including 'skipped' */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 skipped; /* number of transactions skipped under --rate Step #6 - "compile-libfuzzer-introspector-x86_64": * and --latency-limit */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 retries; /* number of retries after a serialization or Step #6 - "compile-libfuzzer-introspector-x86_64": * a deadlock error in all the transactions */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 retried; /* number of all transactions that were Step #6 - "compile-libfuzzer-introspector-x86_64": * retried after a serialization or a deadlock Step #6 - "compile-libfuzzer-introspector-x86_64": * error (perhaps the last try was Step #6 - "compile-libfuzzer-introspector-x86_64": * unsuccessful) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 serialization_failures; /* number of transactions that were Step #6 - "compile-libfuzzer-introspector-x86_64": * not successfully retried after a Step #6 - "compile-libfuzzer-introspector-x86_64": * serialization error */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 deadlock_failures; /* number of transactions that were not Step #6 - "compile-libfuzzer-introspector-x86_64": * successfully retried after a deadlock Step #6 - "compile-libfuzzer-introspector-x86_64": * error */ Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStats latency; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStats lag; Step #6 - "compile-libfuzzer-introspector-x86_64": } StatsData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum EStatus Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ESTATUS_NO_ERROR = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": ESTATUS_META_COMMAND_ERROR, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* SQL errors */ Step #6 - "compile-libfuzzer-introspector-x86_64": ESTATUS_SERIALIZATION_ERROR, Step #6 - "compile-libfuzzer-introspector-x86_64": ESTATUS_DEADLOCK_ERROR, Step #6 - "compile-libfuzzer-introspector-x86_64": ESTATUS_OTHER_SQL_ERROR, Step #6 - "compile-libfuzzer-introspector-x86_64": } EStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The client must first choose a script to execute. Once chosen, it can Step #6 - "compile-libfuzzer-introspector-x86_64": * either be throttled (state CSTATE_PREPARE_THROTTLE under --rate), start Step #6 - "compile-libfuzzer-introspector-x86_64": * right away (state CSTATE_START_TX) or not start at all if the timer was Step #6 - "compile-libfuzzer-introspector-x86_64": * exceeded (state CSTATE_FINISHED). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_CHOOSE_SCRIPT, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_START_TX performs start-of-transaction processing. Establishes Step #6 - "compile-libfuzzer-introspector-x86_64": * a new connection for the transaction in --connect mode, records the Step #6 - "compile-libfuzzer-introspector-x86_64": * transaction start time, and proceed to the first command. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Note: once a script is started, it will either error or run till its Step #6 - "compile-libfuzzer-introspector-x86_64": * end, where it may be interrupted. It is not interrupted while running, Step #6 - "compile-libfuzzer-introspector-x86_64": * so pgbench --time is to be understood as tx are allowed to start in Step #6 - "compile-libfuzzer-introspector-x86_64": * that time, and will finish when their work is completed. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_START_TX, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * In CSTATE_PREPARE_THROTTLE state, we calculate when to begin the next Step #6 - "compile-libfuzzer-introspector-x86_64": * transaction, and advance to CSTATE_THROTTLE. CSTATE_THROTTLE state Step #6 - "compile-libfuzzer-introspector-x86_64": * sleeps until that moment, then advances to CSTATE_START_TX, or Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_FINISHED if the next transaction would start beyond the end of Step #6 - "compile-libfuzzer-introspector-x86_64": * the run. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_PREPARE_THROTTLE, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_THROTTLE, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * We loop through these states, to process each command in the script: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_START_COMMAND starts the execution of a command. On a SQL Step #6 - "compile-libfuzzer-introspector-x86_64": * command, the command is sent to the server, and we move to Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_WAIT_RESULT state unless in pipeline mode. On a \sleep Step #6 - "compile-libfuzzer-introspector-x86_64": * meta-command, the timer is set, and we enter the CSTATE_SLEEP state to Step #6 - "compile-libfuzzer-introspector-x86_64": * wait for it to expire. Other meta-commands are executed immediately. If Step #6 - "compile-libfuzzer-introspector-x86_64": * the command about to start is actually beyond the end of the script, Step #6 - "compile-libfuzzer-introspector-x86_64": * advance to CSTATE_END_TX. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_WAIT_RESULT waits until we get a result set back from the server Step #6 - "compile-libfuzzer-introspector-x86_64": * for the current command. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_SLEEP waits until the end of \sleep. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_END_COMMAND records the end-of-command timestamp, increments the Step #6 - "compile-libfuzzer-introspector-x86_64": * command counter, and loops back to CSTATE_START_COMMAND state. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_SKIP_COMMAND is used by conditional branches which are not Step #6 - "compile-libfuzzer-introspector-x86_64": * executed. It quickly skip commands that do not need any evaluation. Step #6 - "compile-libfuzzer-introspector-x86_64": * This state can move forward several commands, till there is something Step #6 - "compile-libfuzzer-introspector-x86_64": * to do or the end of the script. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_START_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_WAIT_RESULT, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_SLEEP, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_END_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_SKIP_COMMAND, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * States for failed commands. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * If the SQL/meta command fails, in CSTATE_ERROR clean up after an error: Step #6 - "compile-libfuzzer-introspector-x86_64": * (1) clear the conditional stack; (2) if we have an unterminated Step #6 - "compile-libfuzzer-introspector-x86_64": * (possibly failed) transaction block, send the rollback command to the Step #6 - "compile-libfuzzer-introspector-x86_64": * server and wait for the result in CSTATE_WAIT_ROLLBACK_RESULT. If Step #6 - "compile-libfuzzer-introspector-x86_64": * something goes wrong with rolling back, go to CSTATE_ABORTED. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * But if everything is ok we are ready for future transactions: if this Step #6 - "compile-libfuzzer-introspector-x86_64": * is a serialization or deadlock error and we can re-execute the Step #6 - "compile-libfuzzer-introspector-x86_64": * transaction from the very beginning, go to CSTATE_RETRY; otherwise go Step #6 - "compile-libfuzzer-introspector-x86_64": * to CSTATE_FAILURE. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * In CSTATE_RETRY report an error, set the same parameters for the Step #6 - "compile-libfuzzer-introspector-x86_64": * transaction execution as in the previous tries and process the first Step #6 - "compile-libfuzzer-introspector-x86_64": * transaction command in CSTATE_START_COMMAND. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * In CSTATE_FAILURE report a failure, set the parameters for the Step #6 - "compile-libfuzzer-introspector-x86_64": * transaction execution as they were before the first run of this Step #6 - "compile-libfuzzer-introspector-x86_64": * transaction (except for a random state) and go to CSTATE_END_TX to Step #6 - "compile-libfuzzer-introspector-x86_64": * complete this transaction. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_ERROR, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_WAIT_ROLLBACK_RESULT, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_RETRY, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_FAILURE, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_END_TX performs end-of-transaction processing. It calculates Step #6 - "compile-libfuzzer-introspector-x86_64": * latency, and logs the transaction. In --connect mode, it closes the Step #6 - "compile-libfuzzer-introspector-x86_64": * current connection. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Then either starts over in CSTATE_CHOOSE_SCRIPT, or enters Step #6 - "compile-libfuzzer-introspector-x86_64": * CSTATE_FINISHED if we have no more work to do. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_END_TX, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Final states. CSTATE_ABORTED means that the script execution was Step #6 - "compile-libfuzzer-introspector-x86_64": * aborted because a command failed, CSTATE_FINISHED means success. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_ABORTED, Step #6 - "compile-libfuzzer-introspector-x86_64": CSTATE_FINISHED, Step #6 - "compile-libfuzzer-introspector-x86_64": } ConnectionStateEnum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*initRowMethod) (PQExpBufferData *sql, int64 curr); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Command Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PQExpBufferData lines; Step #6 - "compile-libfuzzer-introspector-x86_64": char *first_line; Step #6 - "compile-libfuzzer-introspector-x86_64": int type; Step #6 - "compile-libfuzzer-introspector-x86_64": MetaCommand meta; Step #6 - "compile-libfuzzer-introspector-x86_64": int argc; Step #6 - "compile-libfuzzer-introspector-x86_64": char *argv[MAX_ARGS]; Step #6 - "compile-libfuzzer-introspector-x86_64": char *prepname; Step #6 - "compile-libfuzzer-introspector-x86_64": char *varprefix; Step #6 - "compile-libfuzzer-introspector-x86_64": PgBenchExpr *expr; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStats stats; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 retries; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 failures; Step #6 - "compile-libfuzzer-introspector-x86_64": } Command; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum MetaCommand Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": META_NONE, /* not a known meta-command */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_SET, /* \set */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_SETSHELL, /* \setshell */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_SHELL, /* \shell */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_SLEEP, /* \sleep */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_GSET, /* \gset */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_ASET, /* \aset */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_IF, /* \if */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_ELIF, /* \elif */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_ELSE, /* \else */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_ENDIF, /* \endif */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_STARTPIPELINE, /* \startpipeline */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_SYNCPIPELINE, /* \syncpipeline */ Step #6 - "compile-libfuzzer-introspector-x86_64": META_ENDPIPELINE, /* \endpipeline */ Step #6 - "compile-libfuzzer-introspector-x86_64": } MetaCommand; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int64 pg_time_usec_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BuiltinScript Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *name; /* very short name for -b ... */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *desc; /* short description */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *script; /* actual pgbench script */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BuiltinScript; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct socket_set Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int maxfd; /* largest FD currently set in fds */ Step #6 - "compile-libfuzzer-introspector-x86_64": fd_set fds; Step #6 - "compile-libfuzzer-introspector-x86_64": } socket_set; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum TStatus Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TSTATUS_IDLE, Step #6 - "compile-libfuzzer-introspector-x86_64": TSTATUS_IN_BLOCK, Step #6 - "compile-libfuzzer-introspector-x86_64": TSTATUS_CONN_ERROR, Step #6 - "compile-libfuzzer-introspector-x86_64": TSTATUS_OTHER_ERROR, Step #6 - "compile-libfuzzer-introspector-x86_64": } TStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.397 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pgbench/pgbench.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PGBT_NO_VALUE = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBT_NULL, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBT_INT, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBT_DOUBLE, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBT_BOOLEAN, Step #6 - "compile-libfuzzer-introspector-x86_64": /* add other types here */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PgBenchValueType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgBenchExpr PgBenchExpr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PgBenchExprType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ENODE_CONSTANT, Step #6 - "compile-libfuzzer-introspector-x86_64": ENODE_VARIABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": ENODE_FUNCTION, Step #6 - "compile-libfuzzer-introspector-x86_64": } PgBenchExprType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgBenchExprList PgBenchExprList; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgBenchValueType type; Step #6 - "compile-libfuzzer-introspector-x86_64": union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int64 ival; Step #6 - "compile-libfuzzer-introspector-x86_64": double dval; Step #6 - "compile-libfuzzer-introspector-x86_64": bool bval; Step #6 - "compile-libfuzzer-introspector-x86_64": /* add other types here */ Step #6 - "compile-libfuzzer-introspector-x86_64": } u; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgBenchValue; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgBenchExprLink PgBenchExprLink; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PgBenchFunction Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_ADD, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_SUB, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_MUL, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_DIV, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_MOD, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_DEBUG, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_ABS, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_LEAST, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_GREATEST, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_INT, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_DOUBLE, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_PI, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_SQRT, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_LN, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_EXP, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_RANDOM, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_RANDOM_GAUSSIAN, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_RANDOM_EXPONENTIAL, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_RANDOM_ZIPFIAN, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_POW, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_AND, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_OR, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_NOT, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_BITAND, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_BITOR, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_BITXOR, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_LSHIFT, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_RSHIFT, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_EQ, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_NE, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_LE, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_LT, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_IS, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_CASE, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_HASH_FNV1A, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_HASH_MURMUR2, Step #6 - "compile-libfuzzer-introspector-x86_64": PGBENCH_PERMUTE, Step #6 - "compile-libfuzzer-introspector-x86_64": } PgBenchFunction; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.401 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_lz4.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.404 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/parallel.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": WRKR_NOT_STARTED = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": WRKR_IDLE, Step #6 - "compile-libfuzzer-introspector-x86_64": WRKR_WORKING, Step #6 - "compile-libfuzzer-introspector-x86_64": WRKR_TERMINATED, Step #6 - "compile-libfuzzer-introspector-x86_64": } T_WorkerStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ArchiveHandle *AH; /* leader database connection */ Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelSlot *slot; /* this worker's parallel slot */ Step #6 - "compile-libfuzzer-introspector-x86_64": } WorkerInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct DumpSignalInformation Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ArchiveHandle *myAH; /* database connection to issue cancel for */ Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelState *pstate; /* parallel state, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool handler_set; /* signal handler set up in this process? */ Step #6 - "compile-libfuzzer-introspector-x86_64": #ifndef WIN32 Step #6 - "compile-libfuzzer-introspector-x86_64": bool am_worker; /* am I a worker process? */ Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": } DumpSignalInformation; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ShutdownInformation Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelState *pstate; Step #6 - "compile-libfuzzer-introspector-x86_64": Archive *AHX; Step #6 - "compile-libfuzzer-introspector-x86_64": } ShutdownInformation; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.415 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_zstd.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ZstdCompressorState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* This is a normal file to which we read/write compressed data */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *fp; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": ZSTD_CStream *cstream; Step #6 - "compile-libfuzzer-introspector-x86_64": ZSTD_DStream *dstream; Step #6 - "compile-libfuzzer-introspector-x86_64": ZSTD_outBuffer output; Step #6 - "compile-libfuzzer-introspector-x86_64": ZSTD_inBuffer input; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* pointer to a static string like from strerror(), for Zstd_write() */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *zstderror; Step #6 - "compile-libfuzzer-introspector-x86_64": } ZstdCompressorState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.422 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_custom.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": CompressorState *cs; Step #6 - "compile-libfuzzer-introspector-x86_64": int hasSeek; Step #6 - "compile-libfuzzer-introspector-x86_64": /* lastFilePos is used only when reading, and may be invalid if !hasSeek */ Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t lastFilePos; /* position after last data block we've read */ Step #6 - "compile-libfuzzer-introspector-x86_64": } lclContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int dataState; Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t dataPos; /* valid only if dataState=K_OFFSET_POS_SET */ Step #6 - "compile-libfuzzer-introspector-x86_64": } lclTocEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.429 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_dump.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _dumpableObjectWithAcl Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": } DumpableObjectWithAcl; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _constraintInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *contable; /* NULL if domain constraint */ Step #6 - "compile-libfuzzer-introspector-x86_64": TypeInfo *condomain; /* NULL if table constraint */ Step #6 - "compile-libfuzzer-introspector-x86_64": char contype; Step #6 - "compile-libfuzzer-introspector-x86_64": char *condef; /* definition, if CHECK or FOREIGN KEY */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid confrelid; /* referenced table, if FOREIGN KEY */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpId conindex; /* identifies associated index if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool condeferrable; /* true if constraint is DEFERRABLE */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool condeferred; /* true if constraint is INITIALLY DEFERRED */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool conperiod; /* true if the constraint is WITHOUT OVERLAPS */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool conislocal; /* true if constraint has local definition */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool separate; /* true if must dump as separate item */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ConstraintInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _tmplInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tmplinit; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tmpllexize; Step #6 - "compile-libfuzzer-introspector-x86_64": } TSTemplateInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _SubRelInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": SubscriptionInfo *subinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *tblinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": char srsubstate; Step #6 - "compile-libfuzzer-introspector-x86_64": char *srsublsn; Step #6 - "compile-libfuzzer-introspector-x86_64": } SubRelInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _namespaceInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": bool create; /* CREATE SCHEMA, or just set owner? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid nspowner; /* OID of owner */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; /* name of owner */ Step #6 - "compile-libfuzzer-introspector-x86_64": } NamespaceInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _cfgInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid cfgparser; Step #6 - "compile-libfuzzer-introspector-x86_64": } TSConfigInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _evttriggerInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": char *evtname; Step #6 - "compile-libfuzzer-introspector-x86_64": char *evtevent; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *evtowner; Step #6 - "compile-libfuzzer-introspector-x86_64": char *evttags; Step #6 - "compile-libfuzzer-introspector-x86_64": char *evtfname; Step #6 - "compile-libfuzzer-introspector-x86_64": char evtenabled; Step #6 - "compile-libfuzzer-introspector-x86_64": } EventTriggerInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _SubscriptionInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": bool subenabled; Step #6 - "compile-libfuzzer-introspector-x86_64": bool subbinary; Step #6 - "compile-libfuzzer-introspector-x86_64": char substream; Step #6 - "compile-libfuzzer-introspector-x86_64": char subtwophasestate; Step #6 - "compile-libfuzzer-introspector-x86_64": bool subdisableonerr; Step #6 - "compile-libfuzzer-introspector-x86_64": bool subpasswordrequired; Step #6 - "compile-libfuzzer-introspector-x86_64": bool subrunasowner; Step #6 - "compile-libfuzzer-introspector-x86_64": bool subfailover; Step #6 - "compile-libfuzzer-introspector-x86_64": char *subconninfo; Step #6 - "compile-libfuzzer-introspector-x86_64": char *subslotname; Step #6 - "compile-libfuzzer-introspector-x86_64": char *subsynccommit; Step #6 - "compile-libfuzzer-introspector-x86_64": char *subpublications; Step #6 - "compile-libfuzzer-introspector-x86_64": char *suborigin; Step #6 - "compile-libfuzzer-introspector-x86_64": char *suboriginremotelsn; Step #6 - "compile-libfuzzer-introspector-x86_64": } SubscriptionInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _extensionInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": char *namespace; /* schema containing extension's objects */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool relocatable; Step #6 - "compile-libfuzzer-introspector-x86_64": char *extversion; Step #6 - "compile-libfuzzer-introspector-x86_64": char *extconfig; /* info about configuration tables */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *extcondition; Step #6 - "compile-libfuzzer-introspector-x86_64": } ExtensionInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _accessMethodInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": char amtype; Step #6 - "compile-libfuzzer-introspector-x86_64": char *amhandler; Step #6 - "compile-libfuzzer-introspector-x86_64": } AccessMethodInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _prsInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid prsstart; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid prstoken; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid prsend; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid prsheadline; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid prslextype; Step #6 - "compile-libfuzzer-introspector-x86_64": } TSParserInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _fdwInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": char *fdwhandler; Step #6 - "compile-libfuzzer-introspector-x86_64": char *fdwvalidator; Step #6 - "compile-libfuzzer-introspector-x86_64": char *fdwoptions; Step #6 - "compile-libfuzzer-introspector-x86_64": } FdwInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _typeInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Note: dobj.name is the raw pg_type.typname entry. ftypname is the Step #6 - "compile-libfuzzer-introspector-x86_64": * result of format_type(), which will be quoted if needed, and might be Step #6 - "compile-libfuzzer-introspector-x86_64": * schema-qualified too. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *ftypname; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid typelem; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid typrelid; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid typarray; Step #6 - "compile-libfuzzer-introspector-x86_64": char typrelkind; /* 'r', 'v', 'c', etc */ Step #6 - "compile-libfuzzer-introspector-x86_64": char typtype; /* 'b', 'c', etc */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isArray; /* true if auto-generated array type */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isMultirange; /* true if auto-generated multirange type */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isDefined; /* true if typisdefined */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* If needed, we'll create a "shell type" entry for it; link that here: */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _shellTypeInfo *shellType; /* shell-type entry, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* If it's a domain, we store links to its constraints here: */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nDomChecks; Step #6 - "compile-libfuzzer-introspector-x86_64": struct _constraintInfo *domChecks; Step #6 - "compile-libfuzzer-introspector-x86_64": } TypeInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _opclassInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": } OpclassInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _dictInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid dicttemplate; Step #6 - "compile-libfuzzer-introspector-x86_64": char *dictinitoption; Step #6 - "compile-libfuzzer-introspector-x86_64": } TSDictInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* When modifying this enum, update priority tables in pg_dump_sort.c! */ Step #6 - "compile-libfuzzer-introspector-x86_64": DO_NAMESPACE, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_EXTENSION, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TYPE, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_SHELL_TYPE, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_FUNC, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_AGG, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_OPERATOR, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_ACCESS_METHOD, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_OPCLASS, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_OPFAMILY, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_COLLATION, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_CONVERSION, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TABLE_ATTACH, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_ATTRDEF, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_INDEX, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_INDEX_ATTACH, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_STATSEXT, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_RULE, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TRIGGER, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_CONSTRAINT, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_FK_CONSTRAINT, /* see note for ConstraintInfo */ Step #6 - "compile-libfuzzer-introspector-x86_64": DO_PROCLANG, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_CAST, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TABLE_DATA, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_SEQUENCE_SET, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_DUMMY_TYPE, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TSPARSER, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TSDICT, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TSTEMPLATE, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TSCONFIG, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_FDW, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_FOREIGN_SERVER, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_DEFAULT_ACL, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_TRANSFORM, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_LARGE_OBJECT, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_LARGE_OBJECT_DATA, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_PRE_DATA_BOUNDARY, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_POST_DATA_BOUNDARY, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_EVENT_TRIGGER, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_REFRESH_MATVIEW, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_POLICY, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_PUBLICATION, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_PUBLICATION_REL, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_PUBLICATION_TABLE_IN_SCHEMA, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_SUBSCRIPTION, Step #6 - "compile-libfuzzer-introspector-x86_64": DO_SUBSCRIPTION_REL, /* see note for SubRelInfo */ Step #6 - "compile-libfuzzer-introspector-x86_64": } DumpableObjectType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _dumpableAcl Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *acl; /* the object's actual ACL string */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *acldefault; /* default ACL for the object's type & owner */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* these fields come from the object's pg_init_privs entry, if any: */ Step #6 - "compile-libfuzzer-introspector-x86_64": char privtype; /* entry type, 'i' or 'e'; 0 if no entry */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *initprivs; /* the object's initial ACL string, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": } DumpableAcl; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _shellTypeInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TypeInfo *baseType; /* back link to associated base type */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ShellTypeInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _indexAttachInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": IndxInfo *parentIdx; /* link to index on partitioned table */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndxInfo *partitionIdx; /* link to index on partition */ Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexAttachInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _PublicationInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": bool puballtables; Step #6 - "compile-libfuzzer-introspector-x86_64": bool pubinsert; Step #6 - "compile-libfuzzer-introspector-x86_64": bool pubupdate; Step #6 - "compile-libfuzzer-introspector-x86_64": bool pubdelete; Step #6 - "compile-libfuzzer-introspector-x86_64": bool pubtruncate; Step #6 - "compile-libfuzzer-introspector-x86_64": bool pubviaroot; Step #6 - "compile-libfuzzer-introspector-x86_64": PublishGencolsType pubgencols_type; Step #6 - "compile-libfuzzer-introspector-x86_64": } PublicationInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _PublicationRelInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": PublicationInfo *publication; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *pubtable; Step #6 - "compile-libfuzzer-introspector-x86_64": char *pubrelqual; Step #6 - "compile-libfuzzer-introspector-x86_64": char *pubrattrs; Step #6 - "compile-libfuzzer-introspector-x86_64": } PublicationRelInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _funcInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid lang; Step #6 - "compile-libfuzzer-introspector-x86_64": int nargs; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *argtypes; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid prorettype; Step #6 - "compile-libfuzzer-introspector-x86_64": bool postponed_def; /* function must be postponed into post-data */ Step #6 - "compile-libfuzzer-introspector-x86_64": } FuncInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _statsExtInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; /* owner */ Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *stattable; /* link to table the stats are for */ Step #6 - "compile-libfuzzer-introspector-x86_64": int stattarget; /* statistics target */ Step #6 - "compile-libfuzzer-introspector-x86_64": } StatsExtInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _dumpableObject Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObjectType objType; Step #6 - "compile-libfuzzer-introspector-x86_64": CatalogId catId; /* zero if not a cataloged object */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpId dumpId; /* assigned by AssignDumpId() */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *name; /* object name (should never be NULL) */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _namespaceInfo *namespace; /* containing namespace, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpComponents dump; /* bitmask of components requested to dump */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpComponents dump_contains; /* as above, but for contained objects */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpComponents components; /* bitmask of components available to dump */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool ext_member; /* true if object is member of extension */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool depends_on_ext; /* true if object depends on an extension */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpId *dependencies; /* dumpIds of objects this one depends on */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nDeps; /* number of valid dependencies */ Step #6 - "compile-libfuzzer-introspector-x86_64": int allocDeps; /* allocated size of dependencies[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": } DumpableObject; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _policyInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *poltable; Step #6 - "compile-libfuzzer-introspector-x86_64": char *polname; /* null indicates RLS is enabled on rel */ Step #6 - "compile-libfuzzer-introspector-x86_64": char polcmd; Step #6 - "compile-libfuzzer-introspector-x86_64": bool polpermissive; Step #6 - "compile-libfuzzer-introspector-x86_64": char *polroles; Step #6 - "compile-libfuzzer-introspector-x86_64": char *polqual; Step #6 - "compile-libfuzzer-introspector-x86_64": char *polwithcheck; Step #6 - "compile-libfuzzer-introspector-x86_64": } PolicyInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _aggInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FuncInfo aggfn; Step #6 - "compile-libfuzzer-introspector-x86_64": /* we don't require any other fields at the moment */ Step #6 - "compile-libfuzzer-introspector-x86_64": } AggInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _opfamilyInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": } OpfamilyInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _tableAttachInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *parentTbl; /* link to partitioned table */ Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *partitionTbl; /* link to partition */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TableAttachInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _convInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": } ConvInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _tableDataInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *tdtable; /* link to table to dump */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *filtercond; /* WHERE condition to limit rows dumped */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TableDataInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _ruleInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *ruletable; /* link to table the rule is for */ Step #6 - "compile-libfuzzer-introspector-x86_64": char ev_type; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_instead; Step #6 - "compile-libfuzzer-introspector-x86_64": char ev_enabled; Step #6 - "compile-libfuzzer-introspector-x86_64": bool separate; /* true if must dump as separate item */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* separate is always true for non-ON SELECT rules */ Step #6 - "compile-libfuzzer-introspector-x86_64": } RuleInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _procLangInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": bool lanpltrusted; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid lanplcallfoid; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid laninline; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid lanvalidator; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *lanowner; Step #6 - "compile-libfuzzer-introspector-x86_64": } ProcLangInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _inhInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid inhrelid; /* OID of a child table */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid inhparent; /* OID of its parent */ Step #6 - "compile-libfuzzer-introspector-x86_64": } InhInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _oprInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": char oprkind; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oprcode; Step #6 - "compile-libfuzzer-introspector-x86_64": } OprInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _collInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": } CollInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _tableInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are collected for every table in the database. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": char relkind; Step #6 - "compile-libfuzzer-introspector-x86_64": char relpersistence; /* relation persistence */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool relispopulated; /* relation is populated */ Step #6 - "compile-libfuzzer-introspector-x86_64": char relreplident; /* replica identifier */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *reltablespace; /* relation tablespace */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *reloptions; /* options specified by WITH (...) */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *checkoption; /* WITH CHECK OPTION, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *toast_reloptions; /* WITH options for the TOAST table */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hasindex; /* does it have any indexes? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hasrules; /* does it have any rules? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hastriggers; /* does it have any triggers? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hascolumnACLs; /* do any columns have non-default ACLs? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool rowsec; /* is row security enabled? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool forcerowsec; /* is row security forced? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hasoids; /* does it have OIDs? */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 frozenxid; /* table's relfrozenxid */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 minmxid; /* table's relminmxid */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid toast_oid; /* toast table's OID, or 0 if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 toast_frozenxid; /* toast table's relfrozenxid, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 toast_minmxid; /* toast table's relminmxid */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ncheck; /* # of CHECK expressions */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid reltype; /* OID of table's composite type, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid reloftype; /* underlying type for typed table */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid foreign_server; /* foreign server oid, if applicable */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* these two are set only if table is a sequence owned by a column: */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid owning_tab; /* OID of table owning sequence */ Step #6 - "compile-libfuzzer-introspector-x86_64": int owning_col; /* attr # of column owning sequence */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_identity_sequence; Step #6 - "compile-libfuzzer-introspector-x86_64": int relpages; /* table's size in pages (from pg_class) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int toastpages; /* toast table's size in pages, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool interesting; /* true if need to collect more data */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool dummy_view; /* view's real definition must be postponed */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool postponed_def; /* matview must be postponed into post-data */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool ispartition; /* is table a partition? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool unsafe_partitions; /* is it an unsafe partitioned table? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int numParents; /* number of (immediate) parent tables */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _tableInfo **parents; /* TableInfos of immediate parents */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are computed only if we decide the table is interesting Step #6 - "compile-libfuzzer-introspector-x86_64": * (it's either a table to dump, or a direct parent of a dumpable table). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numatts; /* number of attributes */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **attnames; /* the attribute names */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **atttypnames; /* attribute type names */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *attstattarget; /* attribute statistics targets */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *attstorage; /* attribute storage scheme */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *typstorage; /* type storage scheme */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *attisdropped; /* true if attr is dropped; don't dump it */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *attidentity; Step #6 - "compile-libfuzzer-introspector-x86_64": char *attgenerated; Step #6 - "compile-libfuzzer-introspector-x86_64": int *attlen; /* attribute length, used by binary_upgrade */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *attalign; /* attribute align, used by binary_upgrade */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *attislocal; /* true if attr has local definition */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **attoptions; /* per-attribute options */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *attcollation; /* per-attribute collation selection */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *attcompression; /* per-attribute compression method */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **attfdwoptions; /* per-attribute fdw options */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **attmissingval; /* per attribute missing value */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **notnull_constrs; /* NOT NULL constraint names. If null, Step #6 - "compile-libfuzzer-introspector-x86_64": * there isn't one on this column. If Step #6 - "compile-libfuzzer-introspector-x86_64": * empty string, unnamed constraint Step #6 - "compile-libfuzzer-introspector-x86_64": * (pre-v17) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *notnull_noinh; /* NOT NULL is NO INHERIT */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *notnull_islocal; /* true if NOT NULL has local definition */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _attrDefInfo **attrdefs; /* DEFAULT expressions */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _constraintInfo *checkexprs; /* CHECK constraints */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool needs_override; /* has GENERATED ALWAYS AS IDENTITY */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *amname; /* relation access method */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Stuff computed only for dumpable tables. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numIndexes; /* number of indexes */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _indxInfo *indexes; /* indexes */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _tableDataInfo *dataObj; /* TableDataInfo, if dumping its data */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numTriggers; /* number of triggers for table */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct _triggerInfo *triggers; /* array of TriggerInfo structs */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TableInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _attrDefInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; /* note: dobj.name is name of table */ Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *adtable; /* link to table of attribute */ Step #6 - "compile-libfuzzer-introspector-x86_64": int adnum; Step #6 - "compile-libfuzzer-introspector-x86_64": char *adef_expr; /* decompiled DEFAULT expression */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool separate; /* true if must dump as separate item */ Step #6 - "compile-libfuzzer-introspector-x86_64": } AttrDefInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _indxInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *indextable; /* link to table the index is for */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *indexdef; Step #6 - "compile-libfuzzer-introspector-x86_64": char *tablespace; /* tablespace in which index is stored */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *indreloptions; /* options specified by WITH (...) */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *indstatcols; /* column numbers with statistics */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *indstatvals; /* statistic values for columns */ Step #6 - "compile-libfuzzer-introspector-x86_64": int indnkeyattrs; /* number of index key attributes */ Step #6 - "compile-libfuzzer-introspector-x86_64": int indnattrs; /* total number of index attributes */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *indkeys; /* In spite of the name 'indkeys' this field Step #6 - "compile-libfuzzer-introspector-x86_64": * contains both key and nonkey attributes */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool indisclustered; Step #6 - "compile-libfuzzer-introspector-x86_64": bool indisreplident; Step #6 - "compile-libfuzzer-introspector-x86_64": bool indnullsnotdistinct; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid parentidx; /* if a partition, parent index OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": SimplePtrList partattaches; /* if partitioned, partition attach objects */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* if there is an associated constraint object, its dumpId: */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpId indexconstraint; Step #6 - "compile-libfuzzer-introspector-x86_64": } IndxInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _triggerInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": TableInfo *tgtable; /* link to table the trigger is for */ Step #6 - "compile-libfuzzer-introspector-x86_64": char tgenabled; Step #6 - "compile-libfuzzer-introspector-x86_64": bool tgispartition; Step #6 - "compile-libfuzzer-introspector-x86_64": char *tgdef; Step #6 - "compile-libfuzzer-introspector-x86_64": } TriggerInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _castInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid castsource; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid casttarget; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid castfunc; Step #6 - "compile-libfuzzer-introspector-x86_64": char castcontext; Step #6 - "compile-libfuzzer-introspector-x86_64": char castmethod; Step #6 - "compile-libfuzzer-introspector-x86_64": } CastInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _foreignServerInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid srvfdw; Step #6 - "compile-libfuzzer-introspector-x86_64": char *srvtype; Step #6 - "compile-libfuzzer-introspector-x86_64": char *srvversion; Step #6 - "compile-libfuzzer-introspector-x86_64": char *srvoptions; Step #6 - "compile-libfuzzer-introspector-x86_64": } ForeignServerInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 DumpComponents; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _transformInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid trftype; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid trflang; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid trffromsql; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid trftosql; Step #6 - "compile-libfuzzer-introspector-x86_64": } TransformInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _defaultACLInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *defaclrole; Step #6 - "compile-libfuzzer-introspector-x86_64": char defaclobjtype; Step #6 - "compile-libfuzzer-introspector-x86_64": } DefaultACLInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _PublicationSchemaInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": PublicationInfo *publication; Step #6 - "compile-libfuzzer-introspector-x86_64": NamespaceInfo *pubschema; Step #6 - "compile-libfuzzer-introspector-x86_64": } PublicationSchemaInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _loInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject dobj; Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableAcl dacl; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolname; Step #6 - "compile-libfuzzer-introspector-x86_64": int numlos; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid looids[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } LoInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.439 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_restore.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.446 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/common.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _catalogIdMapEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": CatalogId catId; /* the indexed CatalogId */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 status; /* hash status */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashval; /* hash code for the CatalogId */ Step #6 - "compile-libfuzzer-introspector-x86_64": DumpableObject *dobj; /* the associated DumpableObject, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": ExtensionInfo *ext; /* owning extension, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": } CatalogIdMapEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.455 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_tar.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.458 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_zstd.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.461 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_io.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.466 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_dump.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid roleoid; /* role's OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rolename; /* role's name */ Step #6 - "compile-libfuzzer-introspector-x86_64": } RoleNameItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum SeqType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SEQTYPE_SMALLINT, Step #6 - "compile-libfuzzer-introspector-x86_64": SEQTYPE_INTEGER, Step #6 - "compile-libfuzzer-introspector-x86_64": SEQTYPE_BIGINT, Step #6 - "compile-libfuzzer-introspector-x86_64": } SeqType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *provider; /* label provider of this security label */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *label; /* security label for an object */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid classoid; /* object class (catalog OID) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid objoid; /* object OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": int objsubid; /* subobject (table column #) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SecLabelItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum OidOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": zeroIsError = 1, Step #6 - "compile-libfuzzer-introspector-x86_64": zeroAsStar = 2, Step #6 - "compile-libfuzzer-introspector-x86_64": zeroAsNone = 4, Step #6 - "compile-libfuzzer-introspector-x86_64": } OidOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oid; /* object OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": char relkind; /* object kind */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileNumber relfilenumber; /* object filenode */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid toast_oid; /* toast table OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileNumber toast_relfilenumber; /* toast table filenode */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid toast_index_oid; /* toast table index OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileNumber toast_index_relfilenumber; /* toast table index filenode */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BinaryUpgradeClassOidItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *descr; /* comment for an object */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid classoid; /* object class (catalog OID) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid objoid; /* object OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": int objsubid; /* subobject (table column #) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } CommentItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oid; /* sequence OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": SeqType seqtype; /* data type of sequence */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool cycled; /* whether sequence cycles */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 minv; /* minimum value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 maxv; /* maximum value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 startv; /* start value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 incby; /* increment value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 cache; /* cache size */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 last_value; /* last value of sequence */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_called; /* whether nextval advances before returning */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SequenceItem; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.602 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_none.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.606 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/dumputils.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.610 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_db.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.616 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_null.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.620 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_utils.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.624 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_directory.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Our archive location. This is basically what the user specified as his Step #6 - "compile-libfuzzer-introspector-x86_64": * backup file but of course here it is a directory. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *directory; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": CompressFileHandle *dataFH; /* currently open data file */ Step #6 - "compile-libfuzzer-introspector-x86_64": CompressFileHandle *LOsTocFH; /* file handle for blobs_NNN.toc */ Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelState *pstate; /* for parallel backup / restore */ Step #6 - "compile-libfuzzer-introspector-x86_64": } lclContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *filename; /* filename excluding the directory (basename) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } lclTocEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.632 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_lz4.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct LZ4State Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Used by the Stream API to keep track of the file stream. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *fp; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": LZ4F_preferences_t prefs; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": LZ4F_compressionContext_t ctx; Step #6 - "compile-libfuzzer-introspector-x86_64": LZ4F_decompressionContext_t dtx; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Used by the Stream API's lazy initialization. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool inited; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Used by the Stream API to distinguish between compression and Step #6 - "compile-libfuzzer-introspector-x86_64": * decompression operations. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool compressing; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Used by the Compressor API to mark if the compression headers have been Step #6 - "compile-libfuzzer-introspector-x86_64": * written after initialization. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool needs_header_flush; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": size_t buflen; Step #6 - "compile-libfuzzer-introspector-x86_64": char *buffer; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Used by the Stream API to store already uncompressed data that the Step #6 - "compile-libfuzzer-introspector-x86_64": * caller has not consumed. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": size_t overflowalloclen; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t overflowlen; Step #6 - "compile-libfuzzer-introspector-x86_64": char *overflowbuf; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Used by both APIs to keep track of the compressed data length stored in Step #6 - "compile-libfuzzer-introspector-x86_64": * the buffer. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": size_t compressedlen; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Used by both APIs to keep track of error codes. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": size_t errcode; Step #6 - "compile-libfuzzer-introspector-x86_64": } LZ4State; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.639 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_tar.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *nFH; Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *tarFH; Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *tmpFH; Step #6 - "compile-libfuzzer-introspector-x86_64": char *targetFile; Step #6 - "compile-libfuzzer-introspector-x86_64": char mode; Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t pos; Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t fileLen; Step #6 - "compile-libfuzzer-introspector-x86_64": ArchiveHandle *AH; Step #6 - "compile-libfuzzer-introspector-x86_64": } TAR_MEMBER; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int hasSeek; Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t filePos; Step #6 - "compile-libfuzzer-introspector-x86_64": TAR_MEMBER *loToc; Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *tarFH; Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t tarFHpos; Step #6 - "compile-libfuzzer-introspector-x86_64": pgoff_t tarNextMember; Step #6 - "compile-libfuzzer-introspector-x86_64": TAR_MEMBER *FH; Step #6 - "compile-libfuzzer-introspector-x86_64": int isSpecialScript; Step #6 - "compile-libfuzzer-introspector-x86_64": TAR_MEMBER *scriptTH; Step #6 - "compile-libfuzzer-introspector-x86_64": } lclContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TAR_MEMBER *TH; Step #6 - "compile-libfuzzer-introspector-x86_64": char *filename; Step #6 - "compile-libfuzzer-introspector-x86_64": } lclTocEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.649 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/filter.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.655 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_archiver.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.684 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_io.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*WriteFunc) (ArchiveHandle *AH, const char *buf, size_t len); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct CompressFileHandle CompressFileHandle; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct CompressorState CompressorState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef size_t (*ReadFunc) (ArchiveHandle *AH, char **buf, size_t *buflen); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.688 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_utils.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*on_exit_nicely_callback) (int code, void *arg); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.691 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum _archiveFormat Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": archUnknown = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": archCustom = 1, Step #6 - "compile-libfuzzer-introspector-x86_64": archTar = 3, Step #6 - "compile-libfuzzer-introspector-x86_64": archNull = 4, Step #6 - "compile-libfuzzer-introspector-x86_64": archDirectory = 5, Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiveFormat; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _restoreOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int createDB; /* Issue commands to create the database */ Step #6 - "compile-libfuzzer-introspector-x86_64": int noOwner; /* Don't try to match original object owner */ Step #6 - "compile-libfuzzer-introspector-x86_64": int noTableAm; /* Don't issue table-AM-related commands */ Step #6 - "compile-libfuzzer-introspector-x86_64": int noTablespace; /* Don't issue tablespace-related commands */ Step #6 - "compile-libfuzzer-introspector-x86_64": int disable_triggers; /* disable triggers during data-only Step #6 - "compile-libfuzzer-introspector-x86_64": * restore */ Step #6 - "compile-libfuzzer-introspector-x86_64": int use_setsessauth; /* Use SET SESSION AUTHORIZATION commands Step #6 - "compile-libfuzzer-introspector-x86_64": * instead of OWNER TO */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *superuser; /* Username to use as superuser */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *use_role; /* Issue SET ROLE to this */ Step #6 - "compile-libfuzzer-introspector-x86_64": int dropSchema; Step #6 - "compile-libfuzzer-introspector-x86_64": int disable_dollar_quoting; Step #6 - "compile-libfuzzer-introspector-x86_64": int dump_inserts; /* 0 = COPY, otherwise rows per INSERT */ Step #6 - "compile-libfuzzer-introspector-x86_64": int column_inserts; Step #6 - "compile-libfuzzer-introspector-x86_64": int if_exists; Step #6 - "compile-libfuzzer-introspector-x86_64": int no_comments; /* Skip comments */ Step #6 - "compile-libfuzzer-introspector-x86_64": int no_publications; /* Skip publication entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": int no_security_labels; /* Skip security label entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": int no_subscriptions; /* Skip subscription entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": int strict_names; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": const char *filename; Step #6 - "compile-libfuzzer-introspector-x86_64": int dumpSections; Step #6 - "compile-libfuzzer-introspector-x86_64": int verbose; Step #6 - "compile-libfuzzer-introspector-x86_64": int aclsSkip; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *lockWaitTimeout; Step #6 - "compile-libfuzzer-introspector-x86_64": int include_everything; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int tocSummary; Step #6 - "compile-libfuzzer-introspector-x86_64": char *tocFile; Step #6 - "compile-libfuzzer-introspector-x86_64": int format; Step #6 - "compile-libfuzzer-introspector-x86_64": char *formatName; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int selTypes; Step #6 - "compile-libfuzzer-introspector-x86_64": int selIndex; Step #6 - "compile-libfuzzer-introspector-x86_64": int selFunction; Step #6 - "compile-libfuzzer-introspector-x86_64": int selTrigger; Step #6 - "compile-libfuzzer-introspector-x86_64": int selTable; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStringList indexNames; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStringList functionNames; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStringList schemaNames; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStringList schemaExcludeNames; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStringList triggerNames; Step #6 - "compile-libfuzzer-introspector-x86_64": SimpleStringList tableNames; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int useDB; Step #6 - "compile-libfuzzer-introspector-x86_64": ConnParams cparams; /* parameters to use if useDB */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int noDataForFailedTables; Step #6 - "compile-libfuzzer-introspector-x86_64": int exit_on_error; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_compress_specification compression_spec; /* Specification for Step #6 - "compile-libfuzzer-introspector-x86_64": * compression */ Step #6 - "compile-libfuzzer-introspector-x86_64": int suppressDumpWarnings; /* Suppress output of WARNING entries Step #6 - "compile-libfuzzer-introspector-x86_64": * to stderr */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool single_txn; /* restore all TOCs in one transaction */ Step #6 - "compile-libfuzzer-introspector-x86_64": int txn_size; /* restore this many TOCs per txn, if > 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool *idWanted; /* array showing which dump IDs to emit */ Step #6 - "compile-libfuzzer-introspector-x86_64": int enable_row_security; Step #6 - "compile-libfuzzer-introspector-x86_64": int sequence_data; /* dump sequence data even in schema-only mode */ Step #6 - "compile-libfuzzer-introspector-x86_64": int binary_upgrade; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* flags derived from the user-settable flags */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool dumpSchema; Step #6 - "compile-libfuzzer-introspector-x86_64": bool dumpData; Step #6 - "compile-libfuzzer-introspector-x86_64": } RestoreOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Note: this struct must not contain any unused bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tableoid; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oid; Step #6 - "compile-libfuzzer-introspector-x86_64": } CatalogId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int DumpId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (*DataDumperPtr) (Archive *AH, const void *userArg); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum trivalue Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TRI_DEFAULT, Step #6 - "compile-libfuzzer-introspector-x86_64": TRI_NO, Step #6 - "compile-libfuzzer-introspector-x86_64": TRI_YES, Step #6 - "compile-libfuzzer-introspector-x86_64": } trivalue; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum _archiveMode Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": archModeAppend, Step #6 - "compile-libfuzzer-introspector-x86_64": archModeWrite, Step #6 - "compile-libfuzzer-introspector-x86_64": archModeRead, Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiveMode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _dumpOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ConnParams cparams; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int binary_upgrade; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* various user-settable parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": int dumpSections; /* bitmask of chosen sections */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool aclsSkip; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *lockWaitTimeout; Step #6 - "compile-libfuzzer-introspector-x86_64": int dump_inserts; /* 0 = COPY, otherwise rows per INSERT */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* flags for various command-line long options */ Step #6 - "compile-libfuzzer-introspector-x86_64": int disable_dollar_quoting; Step #6 - "compile-libfuzzer-introspector-x86_64": int column_inserts; Step #6 - "compile-libfuzzer-introspector-x86_64": int if_exists; Step #6 - "compile-libfuzzer-introspector-x86_64": int no_comments; Step #6 - "compile-libfuzzer-introspector-x86_64": int no_security_labels; Step #6 - "compile-libfuzzer-introspector-x86_64": int no_publications; Step #6 - "compile-libfuzzer-introspector-x86_64": int no_subscriptions; Step #6 - "compile-libfuzzer-introspector-x86_64": int no_toast_compression; Step #6 - "compile-libfuzzer-introspector-x86_64": int no_unlogged_table_data; Step #6 - "compile-libfuzzer-introspector-x86_64": int serializable_deferrable; Step #6 - "compile-libfuzzer-introspector-x86_64": int disable_triggers; Step #6 - "compile-libfuzzer-introspector-x86_64": int outputNoTableAm; Step #6 - "compile-libfuzzer-introspector-x86_64": int outputNoTablespaces; Step #6 - "compile-libfuzzer-introspector-x86_64": int use_setsessauth; Step #6 - "compile-libfuzzer-introspector-x86_64": int enable_row_security; Step #6 - "compile-libfuzzer-introspector-x86_64": int load_via_partition_root; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* default, if no "inclusion" switches appear, is to dump everything */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool include_everything; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int outputClean; Step #6 - "compile-libfuzzer-introspector-x86_64": int outputCreateDB; Step #6 - "compile-libfuzzer-introspector-x86_64": bool outputLOs; Step #6 - "compile-libfuzzer-introspector-x86_64": bool dontOutputLOs; Step #6 - "compile-libfuzzer-introspector-x86_64": int outputNoOwner; Step #6 - "compile-libfuzzer-introspector-x86_64": char *outputSuperuser; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int sequence_data; /* dump sequence data even in schema-only mode */ Step #6 - "compile-libfuzzer-introspector-x86_64": int do_nothing; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* flags derived from the user-settable flags */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool dumpSchema; Step #6 - "compile-libfuzzer-introspector-x86_64": bool dumpData; Step #6 - "compile-libfuzzer-introspector-x86_64": } DumpOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*SetupWorkerPtrType) (Archive *AH); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum _teSection Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SECTION_NONE = 1, /* comments, ACLs, etc; can be anywhere */ Step #6 - "compile-libfuzzer-introspector-x86_64": SECTION_PRE_DATA, /* stuff to be processed before data */ Step #6 - "compile-libfuzzer-introspector-x86_64": SECTION_DATA, /* table data, large objects, LO comments */ Step #6 - "compile-libfuzzer-introspector-x86_64": SECTION_POST_DATA, /* stuff to be processed after data */ Step #6 - "compile-libfuzzer-introspector-x86_64": } teSection; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _connParams Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields record the actual command line parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *dbname; /* this may be a connstring! */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *pgport; Step #6 - "compile-libfuzzer-introspector-x86_64": char *pghost; Step #6 - "compile-libfuzzer-introspector-x86_64": char *username; Step #6 - "compile-libfuzzer-introspector-x86_64": trivalue promptPassword; Step #6 - "compile-libfuzzer-introspector-x86_64": /* If not NULL, this overrides the dbname obtained from command line */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* (but *only* the DB name, not anything else in the connstring) */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *override_dbname; Step #6 - "compile-libfuzzer-introspector-x86_64": } ConnParams; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Archive Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DumpOptions *dopt; /* options, if dumping */ Step #6 - "compile-libfuzzer-introspector-x86_64": RestoreOptions *ropt; /* options, if restoring */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int verbose; Step #6 - "compile-libfuzzer-introspector-x86_64": char *remoteVersionStr; /* server's version string */ Step #6 - "compile-libfuzzer-introspector-x86_64": int remoteVersion; /* same in numeric form */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isStandby; /* is server a standby node */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int minRemoteVersion; /* allowable range */ Step #6 - "compile-libfuzzer-introspector-x86_64": int maxRemoteVersion; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int numWorkers; /* number of parallel processes */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *sync_snapshot_id; /* sync snapshot id for parallel operation */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* info needed for string escaping */ Step #6 - "compile-libfuzzer-introspector-x86_64": int encoding; /* libpq code for client_encoding */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool std_strings; /* standard_conforming_strings */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* other important stuff */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *searchpath; /* search_path to set during restore */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *use_role; /* Issue SET ROLE to this */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* error handling */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool exit_on_error; /* whether to exit on SQL errors... */ Step #6 - "compile-libfuzzer-introspector-x86_64": int n_errors; /* number of errors (if no die) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* prepared-query status */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *is_prepared; /* indexed by enum _dumpPreparedQueries */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* The rest is private */ Step #6 - "compile-libfuzzer-introspector-x86_64": } Archive; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.697 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/dumputils.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.704 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_dumpall.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 status; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashval; Step #6 - "compile-libfuzzer-introspector-x86_64": char *rolename; Step #6 - "compile-libfuzzer-introspector-x86_64": } RoleNameEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.719 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_db.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.723 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/filter.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*exit_function) (int status); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *fp; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *filename; Step #6 - "compile-libfuzzer-introspector-x86_64": exit_function exit_nicely; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": StringInfoData linebuff; Step #6 - "compile-libfuzzer-introspector-x86_64": } FilterStateData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_NONE, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_TABLE_DATA, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_TABLE_DATA_AND_CHILDREN, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_DATABASE, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_EXTENSION, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_FOREIGN_DATA, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_FUNCTION, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_INDEX, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_SCHEMA, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_TABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_TABLE_AND_CHILDREN, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_OBJECT_TYPE_TRIGGER, Step #6 - "compile-libfuzzer-introspector-x86_64": } FilterObjectType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_COMMAND_TYPE_NONE, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_COMMAND_TYPE_INCLUDE, Step #6 - "compile-libfuzzer-introspector-x86_64": FILTER_COMMAND_TYPE_EXCLUDE, Step #6 - "compile-libfuzzer-introspector-x86_64": } FilterCommandType; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.726 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_dump_sort.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.737 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_gzip.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GzipCompressorState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": z_streamp zp; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": void *outbuf; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t outsize; Step #6 - "compile-libfuzzer-introspector-x86_64": } GzipCompressorState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.743 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_gzip.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.746 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/compress_none.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.749 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/pg_backup_archiver.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ReopenPtrType) (ArchiveHandle *AH); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*EndLOsPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ReadBufPtrType) (ArchiveHandle *AH, void *buf, size_t len); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ArchiveEntryPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (*WriteBytePtrType) (ArchiveHandle *AH, const int i); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*WriteExtraTocPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _tocEntry TocEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*EndDataPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*StartLOPtrType) (ArchiveHandle *AH, TocEntry *te, Oid oid); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (*WorkerJobDumpPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef size_t (*CustomOutPtrType) (ArchiveHandle *AH, const void *buf, size_t len); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _archiveOpts Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *tag; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *namespace; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *tablespace; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *tableam; Step #6 - "compile-libfuzzer-introspector-x86_64": char relkind; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *owner; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *description; Step #6 - "compile-libfuzzer-introspector-x86_64": teSection section; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *createStmt; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *dropStmt; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *copyStmt; Step #6 - "compile-libfuzzer-introspector-x86_64": const DumpId *deps; Step #6 - "compile-libfuzzer-introspector-x86_64": int nDeps; Step #6 - "compile-libfuzzer-introspector-x86_64": DataDumperPtr dumpFn; Step #6 - "compile-libfuzzer-introspector-x86_64": const void *dumpArg; Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiveOpts; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*StartLOsPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*EndLOPtrType) (ArchiveHandle *AH, TocEntry *te, Oid oid); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (*WorkerJobRestorePtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SQL_SCAN = 0, /* normal */ Step #6 - "compile-libfuzzer-introspector-x86_64": SQL_IN_SINGLE_QUOTE, /* '...' literal */ Step #6 - "compile-libfuzzer-introspector-x86_64": SQL_IN_DOUBLE_QUOTE, /* "..." identifier */ Step #6 - "compile-libfuzzer-introspector-x86_64": } sqlparseState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (*ReadBytePtrType) (ArchiveHandle *AH); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ReadExtraTocPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": sqlparseState state; /* see above */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool backSlash; /* next char is backslash quoted? */ Step #6 - "compile-libfuzzer-introspector-x86_64": PQExpBuffer curCmd; /* incomplete line (NULL if not created) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } sqlparseInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OUTPUT_SQLCMDS = 0, /* emitting general SQL commands */ Step #6 - "compile-libfuzzer-introspector-x86_64": OUTPUT_COPYDATA, /* writing COPY data */ Step #6 - "compile-libfuzzer-introspector-x86_64": OUTPUT_OTHERDATA, /* writing data as INSERT commands */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiverOutput; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*WriteBufPtrType) (ArchiveHandle *AH, const void *c, size_t len); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*PrintExtraTocPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": STAGE_NONE = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": STAGE_INITIALIZING, Step #6 - "compile-libfuzzer-introspector-x86_64": STAGE_PROCESSING, Step #6 - "compile-libfuzzer-introspector-x86_64": STAGE_FINALIZING, Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiverStage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum T_Action Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ACT_DUMP, Step #6 - "compile-libfuzzer-introspector-x86_64": ACT_RESTORE, Step #6 - "compile-libfuzzer-introspector-x86_64": } T_Action; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*StartDataPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*PrintTocDataPtrType) (ArchiveHandle *AH, TocEntry *te); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ClonePtrType) (ArchiveHandle *AH); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _archiveHandle ArchiveHandle; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ClosePtrType) (ArchiveHandle *AH); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*WriteDataPtrType) (ArchiveHandle *AH, const void *data, size_t dLen); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*PrepParallelRestorePtrType) (ArchiveHandle *AH); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*DeClonePtrType) (ArchiveHandle *AH); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RESTORE_PASS_MAIN = 0, /* Main pass (most TOC item types) */ Step #6 - "compile-libfuzzer-introspector-x86_64": RESTORE_PASS_ACL, /* ACL item types */ Step #6 - "compile-libfuzzer-introspector-x86_64": RESTORE_PASS_POST_ACL, /* Event trigger and matview refresh items */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": #define RESTORE_PASS_LAST RESTORE_PASS_POST_ACL Step #6 - "compile-libfuzzer-introspector-x86_64": } RestorePass; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.756 INFO datatypes - __init__: Processing /src/postgresql/src/bin/pg_dump/parallel.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ParallelCompletionPtr) (ArchiveHandle *AH, Step #6 - "compile-libfuzzer-introspector-x86_64": TocEntry *te, Step #6 - "compile-libfuzzer-introspector-x86_64": int status, Step #6 - "compile-libfuzzer-introspector-x86_64": void *callback_data); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": WFW_NO_WAIT, Step #6 - "compile-libfuzzer-introspector-x86_64": WFW_GOT_STATUS, Step #6 - "compile-libfuzzer-introspector-x86_64": WFW_ONE_IDLE, Step #6 - "compile-libfuzzer-introspector-x86_64": WFW_ALL_IDLE, Step #6 - "compile-libfuzzer-introspector-x86_64": } WFW_WaitOption; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelSlot ParallelSlot; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int numWorkers; /* allowed number of workers */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* these arrays have numWorkers entries, one per worker: */ Step #6 - "compile-libfuzzer-introspector-x86_64": TocEntry **te; /* item being worked on, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelSlot *parallelSlot; /* private info about each worker */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ParallelState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.760 INFO datatypes - __init__: Processing /src/postgresql/src/timezone/pgtz.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* tznameupper contains the all-upper-case name of the timezone */ Step #6 - "compile-libfuzzer-introspector-x86_64": char tznameupper[TZ_STRLEN_MAX + 1]; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_tz tz; Step #6 - "compile-libfuzzer-introspector-x86_64": } pg_tz_cache; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.766 INFO datatypes - __init__: Processing /src/postgresql/src/timezone/tzfile.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.769 INFO datatypes - __init__: Processing /src/postgresql/src/timezone/pgtz.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.773 INFO datatypes - __init__: Processing /src/postgresql/src/timezone/localtime.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.787 INFO datatypes - __init__: Processing /src/postgresql/src/timezone/strftime.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.794 INFO datatypes - __init__: Processing /src/postgresql/src/timezone/zic.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int64 zic_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int lineno_t; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.823 INFO datatypes - __init__: Processing /src/postgresql/src/timezone/private.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.827 INFO datatypes - __init__: Processing /src/postgresql/src/test/regress/pg_regress_main.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.830 INFO datatypes - __init__: Processing /src/postgresql/src/test/regress/regress.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Point center; Step #6 - "compile-libfuzzer-introspector-x86_64": double radius; Step #6 - "compile-libfuzzer-introspector-x86_64": } WIDGET; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.841 INFO datatypes - __init__: Processing /src/postgresql/src/test/regress/pg_regress.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _resultmap Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *test; Step #6 - "compile-libfuzzer-introspector-x86_64": char *type; Step #6 - "compile-libfuzzer-introspector-x86_64": char *resultfile; Step #6 - "compile-libfuzzer-introspector-x86_64": struct _resultmap *next; Step #6 - "compile-libfuzzer-introspector-x86_64": } _resultmap; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum TAPtype Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DIAG = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": BAIL, Step #6 - "compile-libfuzzer-introspector-x86_64": NOTE, Step #6 - "compile-libfuzzer-introspector-x86_64": NOTE_DETAIL, Step #6 - "compile-libfuzzer-introspector-x86_64": NOTE_END, Step #6 - "compile-libfuzzer-introspector-x86_64": TEST_STATUS, Step #6 - "compile-libfuzzer-introspector-x86_64": PLAN, Step #6 - "compile-libfuzzer-introspector-x86_64": NONE, Step #6 - "compile-libfuzzer-introspector-x86_64": } TAPtype; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.860 INFO datatypes - __init__: Processing /src/postgresql/src/test/regress/pg_regress.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct _stringlist Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *str; Step #6 - "compile-libfuzzer-introspector-x86_64": struct _stringlist *next; Step #6 - "compile-libfuzzer-introspector-x86_64": } _stringlist; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*init_function) (int argc, char **argv); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef PID_TYPE(*test_start_function) (const char *testname, Step #6 - "compile-libfuzzer-introspector-x86_64": _stringlist **resultfiles, Step #6 - "compile-libfuzzer-introspector-x86_64": _stringlist **expectfiles, Step #6 - "compile-libfuzzer-introspector-x86_64": _stringlist **tags); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*postprocess_result_function) (const char *filename); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.863 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_integerset/test_integerset.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *test_name; /* short name of the test, for humans */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *pattern_str; /* a bit pattern */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 spacing; /* pattern repeats at this interval */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 num_values; /* number of integers to set in total */ Step #6 - "compile-libfuzzer-introspector-x86_64": } test_spec; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.870 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/dummy_index_am/dummy_index_am.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum DummyAmEnum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DUMMY_AM_ENUM_ONE, Step #6 - "compile-libfuzzer-introspector-x86_64": DUMMY_AM_ENUM_TWO, Step #6 - "compile-libfuzzer-introspector-x86_64": } DummyAmEnum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct DummyIndexOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 vl_len_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int option_int; Step #6 - "compile-libfuzzer-introspector-x86_64": double option_real; Step #6 - "compile-libfuzzer-introspector-x86_64": bool option_bool; Step #6 - "compile-libfuzzer-introspector-x86_64": DummyAmEnum option_enum; Step #6 - "compile-libfuzzer-introspector-x86_64": int option_string_val_offset; Step #6 - "compile-libfuzzer-introspector-x86_64": int option_string_null_offset; Step #6 - "compile-libfuzzer-introspector-x86_64": } DummyIndexOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.875 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_json_parser/test_json_parser_incremental.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct DoState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": JsonLexContext *lex; Step #6 - "compile-libfuzzer-introspector-x86_64": bool elem_is_first; Step #6 - "compile-libfuzzer-introspector-x86_64": StringInfo buf; Step #6 - "compile-libfuzzer-introspector-x86_64": } DoState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.881 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_json_parser/test_json_parser_perf.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.884 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/xid_wraparound/xid_wraparound.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.889 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_slru/test_slru.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.893 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_slru/test_multixact.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.897 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_ginpostinglist/test_ginpostinglist.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.901 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_bloomfilter/test_bloomfilter.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.904 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_oat_hooks/test_oat_hooks.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.910 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_dsa/test_dsa.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.914 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/delay_execution/delay_execution.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.918 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_ddl_deparse/test_ddl_deparse.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.923 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_predtest/test_predtest.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.927 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/ldap_password_func/ldap_password_func.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.931 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/worker_spi/worker_spi.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct worktable Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *schema; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *name; Step #6 - "compile-libfuzzer-introspector-x86_64": } worktable; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.937 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/spgist_name_ops/spgist_name_ops.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.943 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_rls_hooks/test_rls_hooks.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.947 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_rls_hooks/test_rls_hooks.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.951 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/libpq_pipeline/libpq_pipeline.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.969 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_parser/test_parser.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *buffer; /* text to parse */ Step #6 - "compile-libfuzzer-introspector-x86_64": int len; /* length of the text in buffer */ Step #6 - "compile-libfuzzer-introspector-x86_64": int pos; /* position of the parser */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ParserState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int lexid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *alias; Step #6 - "compile-libfuzzer-introspector-x86_64": char *descr; Step #6 - "compile-libfuzzer-introspector-x86_64": } LexDescr; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.974 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_rbtree/test_rbtree.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IntRBTreeNode Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RBTNode rbtnode; Step #6 - "compile-libfuzzer-introspector-x86_64": int key; Step #6 - "compile-libfuzzer-introspector-x86_64": } IntRBTreeNode; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.980 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_tidstore/test_tidstore.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ItemArray Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData *insert_tids; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData *lookup_tids; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData *iter_tids; Step #6 - "compile-libfuzzer-introspector-x86_64": int max_tids; Step #6 - "compile-libfuzzer-introspector-x86_64": int num_tids; Step #6 - "compile-libfuzzer-introspector-x86_64": } ItemArray; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.986 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/ssl_passphrase_callback/ssl_passphrase_func.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.989 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_lfind/test_lfind.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.994 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_dsm_registry/test_dsm_registry.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TestDSMRegistryStruct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int val; Step #6 - "compile-libfuzzer-introspector-x86_64": LWLock lck; Step #6 - "compile-libfuzzer-introspector-x86_64": } TestDSMRegistryStruct; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:10.998 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/plsample/plsample.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.003 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_copy_callbacks/test_copy_callbacks.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.006 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_shm_mq/test.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.011 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_shm_mq/test_shm_mq.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": slock_t mutex; Step #6 - "compile-libfuzzer-introspector-x86_64": int workers_total; Step #6 - "compile-libfuzzer-introspector-x86_64": int workers_attached; Step #6 - "compile-libfuzzer-introspector-x86_64": int workers_ready; Step #6 - "compile-libfuzzer-introspector-x86_64": } test_shm_mq_header; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.014 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_shm_mq/setup.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nworkers; Step #6 - "compile-libfuzzer-introspector-x86_64": BackgroundWorkerHandle *handle[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } worker_state; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.019 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_shm_mq/worker.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.023 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_radixtree/test_radixtree.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint64 TestValueType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct rt_node_class_test_elem Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *class_name; Step #6 - "compile-libfuzzer-introspector-x86_64": int nkeys; Step #6 - "compile-libfuzzer-introspector-x86_64": } rt_node_class_test_elem; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.029 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_regex/test_regex.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct test_re_flags Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int cflags; /* compile flags for Spencer's regex code */ Step #6 - "compile-libfuzzer-introspector-x86_64": int eflags; /* execute flags for Spencer's regex code */ Step #6 - "compile-libfuzzer-introspector-x86_64": long info; /* expected re_info bits */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool glob; /* do it globally (for each occurrence) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool indices; /* report indices not actual strings */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool partial; /* expect partial match */ Step #6 - "compile-libfuzzer-introspector-x86_64": } test_re_flags; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct test_regex_ctx Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": test_re_flags re_flags; /* flags */ Step #6 - "compile-libfuzzer-introspector-x86_64": rm_detail_t details; /* "details" from execution */ Step #6 - "compile-libfuzzer-introspector-x86_64": text *orig_str; /* data string in original TEXT form */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nmatches; /* number of places where pattern matched */ Step #6 - "compile-libfuzzer-introspector-x86_64": int npatterns; /* number of capturing subpatterns */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* We store start char index and end+1 char index for each match */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* so the number of entries in match_locs is nmatches * npatterns * 2 */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *match_locs; /* 0-based character indexes */ Step #6 - "compile-libfuzzer-introspector-x86_64": int next_match; /* 0-based index of next match to process */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* workspace for build_test_match_result() */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *elems; /* has npatterns+1 elements */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *nulls; /* has npatterns+1 elements */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_wchar *wide_str; /* wide-char version of original string */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *conv_buf; /* conversion buffer, if needed */ Step #6 - "compile-libfuzzer-introspector-x86_64": int conv_bufsiz; /* size thereof */ Step #6 - "compile-libfuzzer-introspector-x86_64": } test_regex_ctx; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.037 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/injection_points/injection_points.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum InjectionPointConditionType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": INJ_CONDITION_ALWAYS = 0, /* always run */ Step #6 - "compile-libfuzzer-introspector-x86_64": INJ_CONDITION_PID, /* PID restriction */ Step #6 - "compile-libfuzzer-introspector-x86_64": } InjectionPointConditionType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct InjectionPointCondition Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Type of the condition */ Step #6 - "compile-libfuzzer-introspector-x86_64": InjectionPointConditionType type; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ID of the process where the injection point is allowed to run */ Step #6 - "compile-libfuzzer-introspector-x86_64": int pid; Step #6 - "compile-libfuzzer-introspector-x86_64": } InjectionPointCondition; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct InjectionPointSharedState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Protects access to other fields */ Step #6 - "compile-libfuzzer-introspector-x86_64": slock_t lock; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Counters advancing when injection_points_wakeup() is called */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 wait_counts[INJ_MAX_WAIT]; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Names of injection points attached to wait counters */ Step #6 - "compile-libfuzzer-introspector-x86_64": char name[INJ_MAX_WAIT][INJ_NAME_MAXLEN]; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Condition variable used for waits and wakeups */ Step #6 - "compile-libfuzzer-introspector-x86_64": ConditionVariable wait_point; Step #6 - "compile-libfuzzer-introspector-x86_64": } InjectionPointSharedState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.043 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/injection_points/injection_stats.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.046 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/injection_points/injection_stats_fixed.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_StatInjFixedEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numattach; /* number of points attached */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numdetach; /* number of points detached */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numrun; /* number of points run */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numcached; /* number of points cached */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numloaded; /* number of points loaded */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_StatInjFixedEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStatShared_InjectionPointFixed Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": LWLock lock; /* protects all the counters */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 changecount; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_StatInjFixedEntry stats; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_StatInjFixedEntry reset_offset; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStatShared_InjectionPointFixed; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.051 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/injection_points/injection_stats.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_StatInjEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numcalls; /* number of times point has been run */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_StatInjEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStatShared_InjectionPoint Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStatShared_Common header; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_StatInjEntry stats; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStatShared_InjectionPoint; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.056 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/injection_points/regress_injection.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.059 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_resowner/test_resowner_many.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ResourceOwnerDesc desc; Step #6 - "compile-libfuzzer-introspector-x86_64": int nremembered; Step #6 - "compile-libfuzzer-introspector-x86_64": int nforgotten; Step #6 - "compile-libfuzzer-introspector-x86_64": int nreleased; Step #6 - "compile-libfuzzer-introspector-x86_64": int nleaked; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": dlist_head current_resources; Step #6 - "compile-libfuzzer-introspector-x86_64": } ManyTestResourceKind; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ManyTestResourceKind *kind; Step #6 - "compile-libfuzzer-introspector-x86_64": dlist_node node; Step #6 - "compile-libfuzzer-introspector-x86_64": } ManyTestResource; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.064 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_resowner/test_resowner_basic.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.069 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/dummy_seclabel/dummy_seclabel.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.072 INFO datatypes - __init__: Processing /src/postgresql/src/test/modules/test_custom_rmgrs/test_custom_rmgrs.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_testcustomrmgrs_message Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Size message_size; /* size of the message */ Step #6 - "compile-libfuzzer-introspector-x86_64": char message[FLEXIBLE_ARRAY_MEMBER]; /* payload */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_testcustomrmgrs_message; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.076 INFO datatypes - __init__: Processing /src/postgresql/src/test/locale/test-ctype.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.080 INFO datatypes - __init__: Processing /src/postgresql/src/test/examples/testlibpq3.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.084 INFO datatypes - __init__: Processing /src/postgresql/src/test/examples/testlo.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.089 INFO datatypes - __init__: Processing /src/postgresql/src/test/examples/testlibpq4.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.094 INFO datatypes - __init__: Processing /src/postgresql/src/test/examples/testlibpq.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.098 INFO datatypes - __init__: Processing /src/postgresql/src/test/examples/testlibpq2.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.102 INFO datatypes - __init__: Processing /src/postgresql/src/test/examples/testlo64.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.107 INFO datatypes - __init__: Processing /src/postgresql/src/test/isolation/isolationtester.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IsoConnInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* The libpq connection object for this connection. */ Step #6 - "compile-libfuzzer-introspector-x86_64": PGconn *conn; Step #6 - "compile-libfuzzer-introspector-x86_64": /* The backend PID, in numeric and string formats. */ Step #6 - "compile-libfuzzer-introspector-x86_64": int backend_pid; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *backend_pid_str; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Name of the associated session. */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *sessionname; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Active step on this connection, or NULL if idle. */ Step #6 - "compile-libfuzzer-introspector-x86_64": PermutationStep *active_step; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Number of NOTICE messages received from connection. */ Step #6 - "compile-libfuzzer-introspector-x86_64": int total_notices; Step #6 - "compile-libfuzzer-introspector-x86_64": } IsoConnInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.116 INFO datatypes - __init__: Processing /src/postgresql/src/test/isolation/isolationtester.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *name; /* name of referenced Step */ Step #6 - "compile-libfuzzer-introspector-x86_64": PermutationStepBlocker **blockers; Step #6 - "compile-libfuzzer-introspector-x86_64": int nblockers; Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields are filled by check_testspec(): */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step *step; /* link to referenced Step */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PermutationStep; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PSB_ONCE, /* force step to wait once */ Step #6 - "compile-libfuzzer-introspector-x86_64": PSB_OTHER_STEP, /* wait for another step to complete first */ Step #6 - "compile-libfuzzer-introspector-x86_64": PSB_NUM_NOTICES, /* wait for N notices from another session */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PermutationStepBlockerType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *name; Step #6 - "compile-libfuzzer-introspector-x86_64": char *setupsql; Step #6 - "compile-libfuzzer-introspector-x86_64": char *teardownsql; Step #6 - "compile-libfuzzer-introspector-x86_64": Step **steps; Step #6 - "compile-libfuzzer-introspector-x86_64": int nsteps; Step #6 - "compile-libfuzzer-introspector-x86_64": } Session; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char **setupsqls; Step #6 - "compile-libfuzzer-introspector-x86_64": int nsetupsqls; Step #6 - "compile-libfuzzer-introspector-x86_64": char *teardownsql; Step #6 - "compile-libfuzzer-introspector-x86_64": Session **sessions; Step #6 - "compile-libfuzzer-introspector-x86_64": int nsessions; Step #6 - "compile-libfuzzer-introspector-x86_64": Permutation **permutations; Step #6 - "compile-libfuzzer-introspector-x86_64": int npermutations; Step #6 - "compile-libfuzzer-introspector-x86_64": } TestSpec; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *stepname; Step #6 - "compile-libfuzzer-introspector-x86_64": PermutationStepBlockerType blocktype; Step #6 - "compile-libfuzzer-introspector-x86_64": int num_notices; /* only used for PSB_NUM_NOTICES */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields are filled by check_testspec(): */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step *step; /* link to referenced step (if any) */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields are runtime workspace: */ Step #6 - "compile-libfuzzer-introspector-x86_64": int target_notices; /* total notices needed from other session */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PermutationStepBlocker; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nsteps; Step #6 - "compile-libfuzzer-introspector-x86_64": PermutationStep **steps; Step #6 - "compile-libfuzzer-introspector-x86_64": } Permutation; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step Step; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.120 INFO datatypes - __init__: Processing /src/postgresql/src/test/isolation/isolation_main.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.124 INFO datatypes - __init__: Processing /src/postgresql/src/tools/testint128.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int128 i128; Step #6 - "compile-libfuzzer-introspector-x86_64": INT128 I128; Step #6 - "compile-libfuzzer-introspector-x86_64": union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": #ifdef WORDS_BIGENDIAN Step #6 - "compile-libfuzzer-introspector-x86_64": int64 hi; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 lo; Step #6 - "compile-libfuzzer-introspector-x86_64": #else Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 lo; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 hi; Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": } hl; Step #6 - "compile-libfuzzer-introspector-x86_64": } test128; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.129 INFO datatypes - __init__: Processing /src/postgresql/src/tools/ifaddrs/test_ifaddrs.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.132 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/lexi.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.140 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/args.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.146 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/pr_comment.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.152 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/indent_globs.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.156 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/indent.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.160 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/err.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.163 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/parse.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.168 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/io.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.175 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/indent.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.186 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/err.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.190 INFO datatypes - __init__: Processing /src/postgresql/src/tools/pg_bsd_indent/indent_codes.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.193 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/recovery_gen.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.197 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/parallel_slot.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.203 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/conditional.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.207 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/astreamer_file.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_plain_writer Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": char *pathname; Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *file; Step #6 - "compile-libfuzzer-introspector-x86_64": bool should_close_file; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_plain_writer; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_extractor Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": char *basepath; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *(*link_map) (const char *); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*report_output_file) (const char *); Step #6 - "compile-libfuzzer-introspector-x86_64": char filename[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *file; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_extractor; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.212 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/string_utils.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.221 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/astreamer_tar.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_tar_parser Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer_archive_context next_context; Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer_member member; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t file_bytes_sent; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t pad_bytes_expected; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_tar_parser; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_tar_archiver Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": bool rearchive_member; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_tar_archiver; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.227 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/mbprint.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef unsigned int pg_wchar; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.232 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/connect_utils.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.236 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/astreamer_lz4.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_lz4_frame Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": LZ4F_compressionContext_t cctx; Step #6 - "compile-libfuzzer-introspector-x86_64": LZ4F_decompressionContext_t dctx; Step #6 - "compile-libfuzzer-introspector-x86_64": LZ4F_preferences_t prefs; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": size_t bytes_written; Step #6 - "compile-libfuzzer-introspector-x86_64": bool header_written; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_lz4_frame; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.242 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/option_utils.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.245 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/astreamer_zstd.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_zstd_frame Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": ZSTD_CCtx *cctx; Step #6 - "compile-libfuzzer-introspector-x86_64": ZSTD_DCtx *dctx; Step #6 - "compile-libfuzzer-introspector-x86_64": ZSTD_outBuffer zstd_outBuf; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_zstd_frame; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.251 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/simple_list.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.255 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/astreamer_gzip.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_gzip_writer Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": char *pathname; Step #6 - "compile-libfuzzer-introspector-x86_64": gzFile gzfile; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_gzip_writer; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct astreamer_gzip_decompressor Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": astreamer base; Step #6 - "compile-libfuzzer-introspector-x86_64": z_stream zstream; Step #6 - "compile-libfuzzer-introspector-x86_64": size_t bytes_written; Step #6 - "compile-libfuzzer-introspector-x86_64": } astreamer_gzip_decompressor; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.260 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/archive.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.264 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/print.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct unicodeStyleRowFormat Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *horizontal; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *vertical_and_right[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *vertical_and_left[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": } unicodeStyleRowFormat; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct unicodeStyleFormat Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": unicodeStyleRowFormat row_style[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": unicodeStyleColumnFormat column_style[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": unicodeStyleBorderFormat border_style[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *header_nl_left; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *header_nl_right; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *nl_left; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *nl_right; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *wrap_left; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *wrap_right; Step #6 - "compile-libfuzzer-introspector-x86_64": bool wrap_right_border; Step #6 - "compile-libfuzzer-introspector-x86_64": } unicodeStyleFormat; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct unicodeStyleColumnFormat Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *vertical; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *vertical_and_horizontal[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *up_and_horizontal[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *down_and_horizontal[2]; Step #6 - "compile-libfuzzer-introspector-x86_64": } unicodeStyleColumnFormat; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct unicodeStyleBorderFormat Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *up_and_right; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *vertical; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *down_and_right; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *horizontal; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *down_and_left; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *left_and_right; Step #6 - "compile-libfuzzer-introspector-x86_64": } unicodeStyleBorderFormat; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.288 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/cancel.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.292 INFO datatypes - __init__: Processing /src/postgresql/src/fe_utils/query_utils.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.296 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpython.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.299 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_cursorobject.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.305 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_resultobject.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.310 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_exec.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLySRFState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *iter; /* Python iterator producing results */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLySavedArgs *savedargs; /* function argument values */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContextCallback callback; /* for releasing refcounts when done */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLySRFState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.319 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_subxactobject.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLySubtransactionObject Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject_HEAD Step #6 - "compile-libfuzzer-introspector-x86_64": bool started; Step #6 - "compile-libfuzzer-introspector-x86_64": bool exited; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLySubtransactionObject; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLySubtransactionData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext oldcontext; Step #6 - "compile-libfuzzer-introspector-x86_64": ResourceOwner oldowner; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLySubtransactionData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.323 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_procedure.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLySavedArgs Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": struct PLySavedArgs *next; /* linked-list pointer */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *args; /* "args" element of globals dict */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *td; /* "TD" element of globals dict, if trigger */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nargs; /* length of namedargs array */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *namedargs[FLEXIBLE_ARRAY_MEMBER]; /* named args */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLySavedArgs; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyProcedureKey Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid fn_oid; /* function OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid fn_rel; /* triggered-on relation or InvalidOid */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyProcedureKey; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyProcedureEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLyProcedureKey key; /* hash key */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLyProcedure *proc; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyProcedureEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyProcedure Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext mcxt; /* context holding this PLyProcedure and its Step #6 - "compile-libfuzzer-introspector-x86_64": * subsidiary data */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *proname; /* SQL name of procedure */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *pyname; /* Python name of procedure */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId fn_xmin; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData fn_tid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_readonly; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_setof; /* true, if function returns result set */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_procedure; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_trigger; /* called as trigger? */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLyObToDatum result; /* Function result output conversion info */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLyDatumToOb result_in; /* For converting input tuples in a trigger */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *src; /* textual procedure code, after mangling */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **argnames; /* Argument names */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLyDatumToOb *args; /* Argument input conversion info */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nargs; /* Number of elements in above arrays */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid langid; /* OID of plpython pg_language entry */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *trftypes; /* OID list of transform types */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *code; /* compiled procedure code */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *statics; /* data saved across calls, local scope */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *globals; /* data saved across calls, global scope */ Step #6 - "compile-libfuzzer-introspector-x86_64": long calldepth; /* depth of recursive calls of function */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLySavedArgs *argstack; /* stack of outer-level call arguments */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyProcedure; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.327 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_plpymodule.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ExceptionMap Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *name; Step #6 - "compile-libfuzzer-introspector-x86_64": char *classname; Step #6 - "compile-libfuzzer-introspector-x86_64": int sqlstate; Step #6 - "compile-libfuzzer-introspector-x86_64": } ExceptionMap; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.334 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpython_system.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.337 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_resultobject.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyResultObject Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject_HEAD Step #6 - "compile-libfuzzer-introspector-x86_64": /* HeapTuple *tuples; */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *nrows; /* number of rows returned by query */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *rows; /* data rows, or empty list if no data Step #6 - "compile-libfuzzer-introspector-x86_64": * returned */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *status; /* query status, SPI_OK_*, or SPI_ERR_* */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc tupdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyResultObject; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.340 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_planobject.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyPlanObject Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject_HEAD Step #6 - "compile-libfuzzer-introspector-x86_64": SPIPlanPtr plan; Step #6 - "compile-libfuzzer-introspector-x86_64": int nargs; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *types; Step #6 - "compile-libfuzzer-introspector-x86_64": PLyObToDatum *args; Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext mcxt; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyPlanObject; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.344 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_procedure.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.350 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_elog.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.353 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_typeio.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef PyObject *(*PLyDatumToObFunc) (PLyDatumToOb *arg, Datum val); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyArrayToOb Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLyDatumToOb *elm; /* conversion info for array's element type */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyArrayToOb; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyTransformToOb Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo typtransform; /* lookup info for from-SQL transform func */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyTransformToOb; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef Datum (*PLyObToDatumFunc) (PLyObToDatum *arg, PyObject *val, Step #6 - "compile-libfuzzer-introspector-x86_64": bool *isnull, Step #6 - "compile-libfuzzer-introspector-x86_64": bool inarray); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyObToScalar Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo typfunc; /* lookup info for type's input function */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid typioparam; /* argument to pass to it */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyObToScalar; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyObToTuple Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* If we're dealing with a RECORD type, actual descriptor is here: */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc recdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": /* If we're dealing with a named composite type, these fields are set: */ Step #6 - "compile-libfuzzer-introspector-x86_64": TypeCacheEntry *typentry; /* typcache entry for type */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 tupdescid; /* last tupdesc identifier seen in typcache */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields are NULL/0 if not yet set: */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLyObToDatum *atts; /* array of per-column conversion info */ Step #6 - "compile-libfuzzer-introspector-x86_64": int natts; /* length of array */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* We might need to convert using record_in(); if so, cache info here */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo recinfunc; /* lookup info for record_in */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyObToTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyObToTransform Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo typtransform; /* lookup info for to-SQL transform function */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyObToTransform; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyScalarToOb Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo typfunc; /* lookup info for type's output function */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyScalarToOb; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyTupleToOb Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* If we're dealing with a RECORD type, actual descriptor is here: */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc recdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": /* If we're dealing with a named composite type, these fields are set: */ Step #6 - "compile-libfuzzer-introspector-x86_64": TypeCacheEntry *typentry; /* typcache entry for type */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 tupdescid; /* last tupdesc identifier seen in typcache */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields are NULL/0 if not yet set: */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLyDatumToOb *atts; /* array of per-column conversion info */ Step #6 - "compile-libfuzzer-introspector-x86_64": int natts; /* length of array */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyTupleToOb; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyObToArray Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLyObToDatum *elm; /* conversion info for array's element type */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid elmbasetype; /* element base type */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyObToArray; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyObToDomain Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLyObToDatum *base; /* conversion info for domain's base type */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *domain_info; /* cache space for domain_check() */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyObToDomain; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyObToDatum PLyObToDatum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyDatumToOb PLyDatumToOb; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.358 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_main.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyExecutionContext Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLyProcedure *curr_proc; /* the currently executing procedure */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext scratch_ctx; /* a context for things like type I/O */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct PLyExecutionContext *next; /* previous stack level */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyExecutionContext; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.361 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_plpymodule.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.364 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_spi.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.371 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_main.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.376 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_util.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.380 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_subxactobject.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.384 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_planobject.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.388 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_spi.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyExceptionEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int sqlstate; /* hash key, must be first */ Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject *exc; /* corresponding exception */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyExceptionEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.392 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_elog.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.399 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_util.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.403 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_cursorobject.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLyCursorObject Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PyObject_HEAD Step #6 - "compile-libfuzzer-introspector-x86_64": char *portalname; Step #6 - "compile-libfuzzer-introspector-x86_64": PLyDatumToOb result; Step #6 - "compile-libfuzzer-introspector-x86_64": bool closed; Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext mcxt; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLyCursorObject; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.406 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_exec.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.409 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpython/plpy_typeio.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.421 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpgsql/src/pl_funcs.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.434 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpgsql/src/pl_handler.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.440 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpgsql/src/pl_comp.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plpgsql_hashent Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_func_hashkey key; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_function *function; Step #6 - "compile-libfuzzer-introspector-x86_64": } plpgsql_HashEnt; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": int sqlerrstate; Step #6 - "compile-libfuzzer-introspector-x86_64": } ExceptionLabelMap; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.456 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpgsql/src/pl_exec.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SimpleEcontextStackEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ExprContext *stack_econtext; /* a stacked econtext */ Step #6 - "compile-libfuzzer-introspector-x86_64": SubTransactionId xact_subxid; /* ID for current subxact */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct SimpleEcontextStackEntry *next; /* next stack entry up */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SimpleEcontextStackEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct /* cast_expr_hash table entry */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": plpgsql_CastHashKey key; /* hash key --- MUST BE FIRST */ Step #6 - "compile-libfuzzer-introspector-x86_64": Expr *cast_expr; /* cast expression, or NULL if no-op cast */ Step #6 - "compile-libfuzzer-introspector-x86_64": CachedExpression *cast_cexpr; /* cached expression backing the above */ Step #6 - "compile-libfuzzer-introspector-x86_64": } plpgsql_CastExprHashEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct /* lookup key for cast info */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* NB: we assume this struct contains no padding bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid srctype; /* source type for cast */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid dsttype; /* destination type for cast */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 srctypmod; /* source typmod for cast */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 dsttypmod; /* destination typmod for cast */ Step #6 - "compile-libfuzzer-introspector-x86_64": } plpgsql_CastHashKey; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct /* cast_hash table entry */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": plpgsql_CastHashKey key; /* hash key --- MUST BE FIRST */ Step #6 - "compile-libfuzzer-introspector-x86_64": plpgsql_CastExprHashEntry *cast_centry; /* link to matching expr entry */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* ExprState is valid only when cast_lxid matches current LXID */ Step #6 - "compile-libfuzzer-introspector-x86_64": ExprState *cast_exprstate; /* expression's eval tree */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool cast_in_use; /* true while we're executing eval tree */ Step #6 - "compile-libfuzzer-introspector-x86_64": LocalTransactionId cast_lxid; Step #6 - "compile-libfuzzer-introspector-x86_64": } plpgsql_CastHashEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.501 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpgsql/src/pl_reserved_kwlist.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.505 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpgsql/src/plpgsql.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_nsitem Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_nsitem_type itemtype; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * For labels, itemno is a value of enum PLpgSQL_label_type. For other Step #6 - "compile-libfuzzer-introspector-x86_64": * itemtypes, itemno is the associated PLpgSQL_datum's dno. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int itemno; Step #6 - "compile-libfuzzer-introspector-x86_64": struct PLpgSQL_nsitem *prev; Step #6 - "compile-libfuzzer-introspector-x86_64": char name[FLEXIBLE_ARRAY_MEMBER]; /* nul-terminated string */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_nsitem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_condition Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int sqlerrstate; /* SQLSTATE code */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *condname; /* condition name (for debugging) */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct PLpgSQL_condition *next; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_condition; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_commit Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool chain; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_commit; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_rollback Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool chain; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_rollback; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_getdiag Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_stacked; /* STACKED or CURRENT diagnostics area? */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *diag_items; /* List of PLpgSQL_diag_item */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_getdiag; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_case_when Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; /* boolean expression for this case */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *stmts; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_case_when; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_fori Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_var *var; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *lower; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *upper; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *step; /* NULL means default (ie, BY 1) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int reverse; Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_fori; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_fors Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *var; /* Loop variable (record or row) */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* end of fields that must match PLpgSQL_stmt_forq */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *query; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_fors; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_open Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": int curvar; Step #6 - "compile-libfuzzer-introspector-x86_64": int cursor_options; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *argquery; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *query; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *dynquery; Step #6 - "compile-libfuzzer-introspector-x86_64": List *params; /* USING expressions */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_open; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_return Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; Step #6 - "compile-libfuzzer-introspector-x86_64": int retvarno; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_return; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_call Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_call; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *target; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_call; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_while Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *cond; Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_while; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_forq Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *var; /* Loop variable (record or row) */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_forq; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_foreach_a Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": int varno; /* loop target variable */ Step #6 - "compile-libfuzzer-introspector-x86_64": int slice; /* slice dimension, or 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; /* array expression */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_foreach_a; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_exit Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_exit; /* Is this an exit or a continue? */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; /* NULL if it's an unlabeled EXIT/CONTINUE */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *cond; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_exit; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_label_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_LABEL_BLOCK, /* DECLARE/BEGIN block */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_LABEL_LOOP, /* looping construct */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_LABEL_OTHER, /* anything else */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_label_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_raise_option Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_raise_option_type opt_type; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_raise_option; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_func_hashkey Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid funcOid; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool isTrigger; /* true if called as a DML trigger */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isEventTrigger; /* true if called as an event trigger */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* be careful that pad bytes in this struct get zeroed! */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * For a trigger function, the OID of the trigger is part of the hash key Step #6 - "compile-libfuzzer-introspector-x86_64": * --- we want to compile the trigger function separately for each trigger Step #6 - "compile-libfuzzer-introspector-x86_64": * it is used with, in case the rowtype or transition table names are Step #6 - "compile-libfuzzer-introspector-x86_64": * different. Zero if not called as a DML trigger. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid trigOid; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * We must include the input collation as part of the hash key too, Step #6 - "compile-libfuzzer-introspector-x86_64": * because we have to generate different plans (with different Param Step #6 - "compile-libfuzzer-introspector-x86_64": * collations) for different collation settings. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid inputCollation; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * We include actual argument types in the hash key to support polymorphic Step #6 - "compile-libfuzzer-introspector-x86_64": * PLpgSQL functions. Be careful that extra positions are zeroed! Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid argtypes[FUNC_MAX_ARGS]; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_func_hashkey; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLword Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *ident; /* palloc'd converted identifier */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool quoted; /* Was it double-quoted? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLword; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLcword Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": List *idents; /* composite identifiers (list of String) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLcword; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_nsitem_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_NSTYPE_LABEL, /* block label */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_NSTYPE_VAR, /* scalar variable */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_NSTYPE_REC, /* composite variable */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_nsitem_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_close Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": int curvar; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_close; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_raise Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": int elog_level; Step #6 - "compile-libfuzzer-introspector-x86_64": char *condname; /* condition name, SQLSTATE, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *message; /* old-style message format literal, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *params; /* list of expressions for old-style message */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *options; /* list of PLpgSQL_raise_option */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_raise; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_dynexecute Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *query; /* string expression */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool into; /* INTO supplied? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool strict; /* INTO STRICT flag */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *target; /* INTO target (record or row) */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *params; /* USING expressions */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_dynexecute; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_function Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *fn_signature; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid fn_oid; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId fn_xmin; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData fn_tid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_trigtype fn_is_trigger; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid fn_input_collation; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_func_hashkey *fn_hashkey; /* back-link to hashtable key */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext fn_cxt; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Oid fn_rettype; Step #6 - "compile-libfuzzer-introspector-x86_64": int fn_rettyplen; Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retbyval; Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retistuple; Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retisdomain; Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retset; Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_readonly; Step #6 - "compile-libfuzzer-introspector-x86_64": char fn_prokind; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int fn_nargs; Step #6 - "compile-libfuzzer-introspector-x86_64": int fn_argvarnos[FUNC_MAX_ARGS]; Step #6 - "compile-libfuzzer-introspector-x86_64": int out_param_varno; Step #6 - "compile-libfuzzer-introspector-x86_64": int found_varno; Step #6 - "compile-libfuzzer-introspector-x86_64": int new_varno; Step #6 - "compile-libfuzzer-introspector-x86_64": int old_varno; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_resolve_option resolve_option; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool print_strict_params; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* extra checks */ Step #6 - "compile-libfuzzer-introspector-x86_64": int extra_warnings; Step #6 - "compile-libfuzzer-introspector-x86_64": int extra_errors; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* the datums representing the function's local variables */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ndatums; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum **datums; Step #6 - "compile-libfuzzer-introspector-x86_64": Size copiable_size; /* space for locally instantiated datums */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* function body parsetree */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_block *action; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* data derived while parsing body */ Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int nstatements; /* counter for assigning stmtids */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool requires_procedure_resowner; /* contains CALL or DO? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* these fields change when the function is used */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct PLpgSQL_execstate *cur_estate; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned long use_count; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_function; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_promise_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_NONE = 0, /* not a promise, or promise satisfied */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_NAME, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_WHEN, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_LEVEL, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_OP, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_RELID, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_TABLE_NAME, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_TABLE_SCHEMA, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_NARGS, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_ARGV, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_EVENT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_PROMISE_TG_TAG, Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_promise_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_getdiag_kind Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_ROW_COUNT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_ROUTINE_OID, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_CONTEXT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_ERROR_CONTEXT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_ERROR_DETAIL, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_ERROR_HINT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_RETURNED_SQLSTATE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_COLUMN_NAME, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_CONSTRAINT_NAME, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_DATATYPE_NAME, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_MESSAGE_TEXT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_TABLE_NAME, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_GETDIAG_SCHEMA_NAME, Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_getdiag_kind; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_dynfors Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *var; /* Loop variable (record or row) */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* end of fields that must match PLpgSQL_stmt_forq */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *query; Step #6 - "compile-libfuzzer-introspector-x86_64": List *params; /* USING expressions */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_dynfors; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_fetch Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *target; /* target (record or row) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int curvar; /* cursor variable to fetch from */ Step #6 - "compile-libfuzzer-introspector-x86_64": FetchDirection direction; /* fetch direction */ Step #6 - "compile-libfuzzer-introspector-x86_64": long how_many; /* count, if constant (expr is NULL) */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; /* count, if expression */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_move; /* is this a fetch or move? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool returns_multiple_rows; /* can return more than one row? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_fetch; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_execsql Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *sqlstmt; Step #6 - "compile-libfuzzer-introspector-x86_64": bool mod_stmt; /* is the stmt INSERT/UPDATE/DELETE/MERGE? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool mod_stmt_set; /* is mod_stmt valid yet? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool into; /* INTO supplied? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool strict; /* INTO STRICT flag */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *target; /* INTO target (record or row) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_execsql; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_trigtype Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_DML_TRIGGER, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_EVENT_TRIGGER, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_NOT_TRIGGER, Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_trigtype; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_plugin Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Function pointers set up by the plugin */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*func_setup) (PLpgSQL_execstate *estate, PLpgSQL_function *func); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*func_beg) (PLpgSQL_execstate *estate, PLpgSQL_function *func); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*func_end) (PLpgSQL_execstate *estate, PLpgSQL_function *func); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*stmt_beg) (PLpgSQL_execstate *estate, PLpgSQL_stmt *stmt); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*stmt_end) (PLpgSQL_execstate *estate, PLpgSQL_stmt *stmt); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Function pointers set by PL/pgSQL itself */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*error_callback) (void *arg); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*assign_expr) (PLpgSQL_execstate *estate, Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum *target, Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*assign_value) (PLpgSQL_execstate *estate, Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum *target, Step #6 - "compile-libfuzzer-introspector-x86_64": Datum value, bool isNull, Step #6 - "compile-libfuzzer-introspector-x86_64": Oid valtype, int32 valtypmod); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*eval_datum) (PLpgSQL_execstate *estate, PLpgSQL_datum *datum, Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *typeId, int32 *typetypmod, Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *value, bool *isnull); Step #6 - "compile-libfuzzer-introspector-x86_64": Datum (*cast_value) (PLpgSQL_execstate *estate, Step #6 - "compile-libfuzzer-introspector-x86_64": Datum value, bool *isnull, Step #6 - "compile-libfuzzer-introspector-x86_64": Oid valtype, int32 valtypmod, Step #6 - "compile-libfuzzer-introspector-x86_64": Oid reqtype, int32 reqtypmod); Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_plugin; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": IDENTIFIER_LOOKUP_NORMAL, /* normal processing of var names */ Step #6 - "compile-libfuzzer-introspector-x86_64": IDENTIFIER_LOOKUP_DECLARE, /* In DECLARE --- don't look up names */ Step #6 - "compile-libfuzzer-introspector-x86_64": IDENTIFIER_LOOKUP_EXPR, /* In SQL expression --- special case */ Step #6 - "compile-libfuzzer-introspector-x86_64": } IdentifierLookup; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void *yyscan_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_datum_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_DTYPE_VAR, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_DTYPE_ROW, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_DTYPE_REC, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_DTYPE_RECFIELD, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_DTYPE_PROMISE, Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_datum_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_expr Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *query; /* query string, verbatim from function body */ Step #6 - "compile-libfuzzer-introspector-x86_64": RawParseMode parseMode; /* raw_parser() mode to use */ Step #6 - "compile-libfuzzer-introspector-x86_64": SPIPlanPtr plan; /* plan, or NULL if not made yet */ Step #6 - "compile-libfuzzer-introspector-x86_64": Bitmapset *paramnos; /* all dnos referenced by this query */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* function containing this expr (not set until we first parse query) */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct PLpgSQL_function *func; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* namespace chain visible to this expr */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct PLpgSQL_nsitem *ns; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* fields for "simple expression" fast-path execution: */ Step #6 - "compile-libfuzzer-introspector-x86_64": Expr *expr_simple_expr; /* NULL means not a simple expr */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid expr_simple_type; /* result type Oid, if simple */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 expr_simple_typmod; /* result typmod, if simple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool expr_simple_mutable; /* true if simple expr is mutable */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are used to optimize assignments to expanded-datum Step #6 - "compile-libfuzzer-introspector-x86_64": * variables. If this expression is the source of an assignment to a Step #6 - "compile-libfuzzer-introspector-x86_64": * simple variable, target_param holds that variable's dno; else it's -1. Step #6 - "compile-libfuzzer-introspector-x86_64": * If we match a Param within expr_simple_expr to such a variable, that Step #6 - "compile-libfuzzer-introspector-x86_64": * Param's address is stored in expr_rw_param; then expression code Step #6 - "compile-libfuzzer-introspector-x86_64": * generation will allow the value for that Param to be passed read/write. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int target_param; /* dno of assign target, or -1 if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": Param *expr_rw_param; /* read/write Param within expr, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If the expression was ever determined to be simple, we remember its Step #6 - "compile-libfuzzer-introspector-x86_64": * CachedPlanSource and CachedPlan here. If expr_simple_plan_lxid matches Step #6 - "compile-libfuzzer-introspector-x86_64": * current LXID, then we hold a refcount on expr_simple_plan in the Step #6 - "compile-libfuzzer-introspector-x86_64": * current transaction. Otherwise we need to get one before re-using it. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": CachedPlanSource *expr_simple_plansource; /* extracted from "plan" */ Step #6 - "compile-libfuzzer-introspector-x86_64": CachedPlan *expr_simple_plan; /* extracted from "plan" */ Step #6 - "compile-libfuzzer-introspector-x86_64": LocalTransactionId expr_simple_plan_lxid; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * if expr is simple AND prepared in current transaction, Step #6 - "compile-libfuzzer-introspector-x86_64": * expr_simple_state and expr_simple_in_use are valid. Test validity by Step #6 - "compile-libfuzzer-introspector-x86_64": * seeing if expr_simple_lxid matches current LXID. (If not, Step #6 - "compile-libfuzzer-introspector-x86_64": * expr_simple_state probably points at garbage!) Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": ExprState *expr_simple_state; /* eval tree for expr_simple_expr */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool expr_simple_in_use; /* true if eval tree is active */ Step #6 - "compile-libfuzzer-introspector-x86_64": LocalTransactionId expr_simple_lxid; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_expr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_row Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum_type dtype; Step #6 - "compile-libfuzzer-introspector-x86_64": int dno; Step #6 - "compile-libfuzzer-introspector-x86_64": char *refname; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isconst; Step #6 - "compile-libfuzzer-introspector-x86_64": bool notnull; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": /* end of PLpgSQL_variable fields */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * rowtupdesc is only set up if we might need to convert the row into a Step #6 - "compile-libfuzzer-introspector-x86_64": * composite datum, which currently only happens for OUT parameters. Step #6 - "compile-libfuzzer-introspector-x86_64": * Otherwise it is NULL. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc rowtupdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nfields; Step #6 - "compile-libfuzzer-introspector-x86_64": char **fieldnames; Step #6 - "compile-libfuzzer-introspector-x86_64": int *varnos; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_row; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_recfield Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum_type dtype; Step #6 - "compile-libfuzzer-introspector-x86_64": int dno; Step #6 - "compile-libfuzzer-introspector-x86_64": /* end of PLpgSQL_datum fields */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": char *fieldname; /* name of field */ Step #6 - "compile-libfuzzer-introspector-x86_64": int recparentno; /* dno of parent record */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nextfield; /* dno of next child, or -1 if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 rectupledescid; /* record's tupledesc ID as of last lookup */ Step #6 - "compile-libfuzzer-introspector-x86_64": ExpandedRecordFieldInfo finfo; /* field's attnum and type info */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* if rectupledescid == INVALID_TUPLEDESC_IDENTIFIER, finfo isn't valid */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_recfield; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_block Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": int n_initvars; /* Length of initvarnos[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *initvarnos; /* dnos of variables declared in this block */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_exception_block *exceptions; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_block; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_forc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *var; /* Loop variable (record or row) */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* end of fields that must match PLpgSQL_stmt_forq */ Step #6 - "compile-libfuzzer-introspector-x86_64": int curvar; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *argquery; /* cursor arguments if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_forc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_return_query Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *query; /* if static query */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *dynquery; /* if dynamic query (RETURN QUERY EXECUTE) */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *params; /* USING arguments for dynamic query */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_return_query; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_assert Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *cond; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *message; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_assert; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_execstate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_function *func; /* function being executed */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TriggerData *trigdata; /* if regular trigger, data about firing */ Step #6 - "compile-libfuzzer-introspector-x86_64": EventTriggerData *evtrigdata; /* if event trigger, data about firing */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Datum retval; Step #6 - "compile-libfuzzer-introspector-x86_64": bool retisnull; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid rettype; /* type of current retval */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Oid fn_rettype; /* info about declared function rettype */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool retistuple; Step #6 - "compile-libfuzzer-introspector-x86_64": bool retisset; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool readonly_func; Step #6 - "compile-libfuzzer-introspector-x86_64": bool atomic; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": char *exitlabel; /* the "target" label of the current EXIT or Step #6 - "compile-libfuzzer-introspector-x86_64": * CONTINUE stmt, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": ErrorData *cur_error; /* current exception handler's error */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Tuplestorestate *tuple_store; /* SRFs accumulate results here */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc tuple_store_desc; /* descriptor for tuples in tuple_store */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext tuple_store_cxt; Step #6 - "compile-libfuzzer-introspector-x86_64": ResourceOwner tuple_store_owner; Step #6 - "compile-libfuzzer-introspector-x86_64": ReturnSetInfo *rsi; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int found_varno; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The datums representing the function's local variables. Some of these Step #6 - "compile-libfuzzer-introspector-x86_64": * are local storage in this execstate, but some just point to the shared Step #6 - "compile-libfuzzer-introspector-x86_64": * copy belonging to the PLpgSQL_function, depending on whether or not we Step #6 - "compile-libfuzzer-introspector-x86_64": * need any per-execution state for the datum's dtype. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ndatums; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum **datums; Step #6 - "compile-libfuzzer-introspector-x86_64": /* context containing variable values (same as func's SPI_proc context) */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext datum_context; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * paramLI is what we use to pass local variable values to the executor. Step #6 - "compile-libfuzzer-introspector-x86_64": * It does not have a ParamExternData array; we just dynamically Step #6 - "compile-libfuzzer-introspector-x86_64": * instantiate parameter data as needed. By convention, PARAM_EXTERN Step #6 - "compile-libfuzzer-introspector-x86_64": * Params have paramid equal to the dno of the referenced local variable. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": ParamListInfo paramLI; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* EState and resowner to use for "simple" expression evaluation */ Step #6 - "compile-libfuzzer-introspector-x86_64": EState *simple_eval_estate; Step #6 - "compile-libfuzzer-introspector-x86_64": ResourceOwner simple_eval_resowner; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* if running nonatomic procedure or DO block, resowner to use for CALL */ Step #6 - "compile-libfuzzer-introspector-x86_64": ResourceOwner procedure_resowner; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* lookup table to use for executing type casts */ Step #6 - "compile-libfuzzer-introspector-x86_64": HTAB *cast_hash; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* memory context for statement-lifespan temporary values */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext stmt_mcontext; /* current stmt context, or NULL if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext stmt_mcontext_parent; /* parent of current context */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* temporary state for results from evaluation of query or expr */ Step #6 - "compile-libfuzzer-introspector-x86_64": SPITupleTable *eval_tuptable; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 eval_processed; Step #6 - "compile-libfuzzer-introspector-x86_64": ExprContext *eval_econtext; /* for executing simple expressions */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* status information for error context reporting */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt *err_stmt; /* current stmt */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_variable *err_var; /* current variable, if in a DECLARE section */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *err_text; /* additional state info */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": void *plugin_info; /* reserved for use by optional plugin */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_execstate; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLwdatum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum *datum; /* referenced variable */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *ident; /* valid if simple name */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool quoted; Step #6 - "compile-libfuzzer-introspector-x86_64": List *idents; /* valid if composite name */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLwdatum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_stmt_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_BLOCK, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_ASSIGN, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_IF, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_CASE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_LOOP, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_WHILE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_FORI, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_FORS, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_FORC, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_FOREACH_A, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_EXIT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_RETURN, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_RETURN_NEXT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_RETURN_QUERY, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_RAISE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_ASSERT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_EXECSQL, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_DYNEXECUTE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_DYNFORS, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_GETDIAG, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_OPEN, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_FETCH, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_CLOSE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_PERFORM, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_CALL, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_COMMIT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_STMT_ROLLBACK, Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_resolve_option Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RESOLVE_ERROR, /* throw error if ambiguous */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RESOLVE_VARIABLE, /* prefer plpgsql var to table column */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RESOLVE_COLUMN, /* prefer table column to plpgsql var */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_resolve_option; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *typname; /* (simple) name of the type */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid typoid; /* OID of the data type */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_type_type ttype; /* PLPGSQL_TTYPE_ code */ Step #6 - "compile-libfuzzer-introspector-x86_64": int16 typlen; /* stuff copied from its pg_type entry */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool typbyval; Step #6 - "compile-libfuzzer-introspector-x86_64": char typtype; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid collation; /* from pg_type, but can be overridden */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool typisarray; /* is "true" array, or domain over one */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 atttypmod; /* typmod (taken from someplace else) */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* Remaining fields are used only for named composite types (not RECORD) */ Step #6 - "compile-libfuzzer-introspector-x86_64": TypeName *origtypname; /* type name as written by user */ Step #6 - "compile-libfuzzer-introspector-x86_64": TypeCacheEntry *tcache; /* typcache entry for composite type */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 tupdesc_id; /* last-seen tupdesc identifier */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_variable Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum_type dtype; Step #6 - "compile-libfuzzer-introspector-x86_64": int dno; Step #6 - "compile-libfuzzer-introspector-x86_64": char *refname; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isconst; Step #6 - "compile-libfuzzer-introspector-x86_64": bool notnull; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_variable; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_var Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum_type dtype; Step #6 - "compile-libfuzzer-introspector-x86_64": int dno; Step #6 - "compile-libfuzzer-introspector-x86_64": char *refname; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isconst; Step #6 - "compile-libfuzzer-introspector-x86_64": bool notnull; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": /* end of PLpgSQL_variable fields */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_type *datatype; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Variables declared as CURSOR FOR are mostly like ordinary Step #6 - "compile-libfuzzer-introspector-x86_64": * scalar variables of type refcursor, but they have these additional Step #6 - "compile-libfuzzer-introspector-x86_64": * properties: Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *cursor_explicit_expr; Step #6 - "compile-libfuzzer-introspector-x86_64": int cursor_explicit_argrow; Step #6 - "compile-libfuzzer-introspector-x86_64": int cursor_options; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Fields below here can change at runtime */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Datum value; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isnull; Step #6 - "compile-libfuzzer-introspector-x86_64": bool freeval; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The promise field records which "promised" value to assign if the Step #6 - "compile-libfuzzer-introspector-x86_64": * promise must be honored. If it's a normal variable, or the promise has Step #6 - "compile-libfuzzer-introspector-x86_64": * been fulfilled, this is PLPGSQL_PROMISE_NONE. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_promise_type promise; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_var; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_rec Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum_type dtype; Step #6 - "compile-libfuzzer-introspector-x86_64": int dno; Step #6 - "compile-libfuzzer-introspector-x86_64": char *refname; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isconst; Step #6 - "compile-libfuzzer-introspector-x86_64": bool notnull; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": /* end of PLpgSQL_variable fields */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Note: for non-RECORD cases, we may from time to time re-look-up the Step #6 - "compile-libfuzzer-introspector-x86_64": * composite type, using datatype->origtypname. That can result in Step #6 - "compile-libfuzzer-introspector-x86_64": * changing rectypeid. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_type *datatype; /* can be NULL, if rectypeid is RECORDOID */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid rectypeid; /* declared type of variable */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* RECFIELDs for this record are chained together for easy access */ Step #6 - "compile-libfuzzer-introspector-x86_64": int firstfield; /* dno of first RECFIELD, or -1 if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Fields below here can change at runtime */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* We always store record variables as "expanded" records */ Step #6 - "compile-libfuzzer-introspector-x86_64": ExpandedRecordHeader *erh; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_rec; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_exception Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_condition *conditions; Step #6 - "compile-libfuzzer-introspector-x86_64": List *action; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_exception; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_perform Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_perform; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_case Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *t_expr; /* test expression, or NULL if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": int t_varno; /* var to store test expression value into */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *case_when_list; /* List of PLpgSQL_case_when structs */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool have_else; /* flag needed because list could be empty */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *else_stmts; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_case; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_return_next Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; Step #6 - "compile-libfuzzer-introspector-x86_64": int retvarno; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_return_next; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_type_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_TTYPE_SCALAR, /* scalar types and domains */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_TTYPE_REC, /* composite types, including RECORD */ Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_TTYPE_PSEUDO, /* pseudotypes */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_type_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PLpgSQL_raise_option_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_ERRCODE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_MESSAGE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_DETAIL, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_HINT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_COLUMN, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_CONSTRAINT, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_DATATYPE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_TABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": PLPGSQL_RAISEOPTION_SCHEMA, Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_raise_option_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_datum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_datum_type dtype; Step #6 - "compile-libfuzzer-introspector-x86_64": int dno; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_datum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Unique statement ID in this function (starting at 1; 0 is invalid/not Step #6 - "compile-libfuzzer-introspector-x86_64": * set). This can be used by a profiler as the index for an array of Step #6 - "compile-libfuzzer-introspector-x86_64": * per-statement metrics. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_exception_block Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int sqlstate_varno; Step #6 - "compile-libfuzzer-introspector-x86_64": int sqlerrm_varno; Step #6 - "compile-libfuzzer-introspector-x86_64": List *exc_list; /* List of WHEN clauses */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_exception_block; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_assign Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": int varno; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *expr; Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_assign; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_diag_item Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_getdiag_kind kind; /* id for diagnostic value desired */ Step #6 - "compile-libfuzzer-introspector-x86_64": int target; /* where to assign it */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_diag_item; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_if Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *cond; /* boolean expression for THEN */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *then_body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *elsif_list; /* List of PLpgSQL_if_elsif structs */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *else_body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_if; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_if_elsif Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_expr *cond; /* boolean expression for this case */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *stmts; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_if_elsif; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PLpgSQL_stmt_loop Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PLpgSQL_stmt_type cmd_type; Step #6 - "compile-libfuzzer-introspector-x86_64": int lineno; Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int stmtid; Step #6 - "compile-libfuzzer-introspector-x86_64": char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": List *body; /* List of statements */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PLpgSQL_stmt_loop; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.517 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpgsql/src/pl_unreserved_kwlist.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.523 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plpgsql/src/pl_scanner.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": YYSTYPE lval; /* semantic information */ Step #6 - "compile-libfuzzer-introspector-x86_64": YYLTYPE lloc; /* offset in scanbuf */ Step #6 - "compile-libfuzzer-introspector-x86_64": int leng; /* length in bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TokenAuxData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.529 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plperl/ppport.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef NVTYPE NV; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef OP* (CPERLscope(*Perl_check_t)) (pTHX_ OP*); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef OP* (CPERLscope(*Perl_ppaddr_t))(pTHX); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef OP* (CPERLscope(*Perl_ppaddr_t))(ARGSproto); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.565 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plperl/plperl.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.570 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plperl/plperl.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plperl_interp_desc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid user_id; /* Hash key (must be first!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": PerlInterpreter *interp; /* The interpreter */ Step #6 - "compile-libfuzzer-introspector-x86_64": HTAB *query_hash; /* plperl_query_entry structs */ Step #6 - "compile-libfuzzer-introspector-x86_64": } plperl_interp_desc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plperl_proc_key Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid proc_id; /* Function OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * is_trigger is really a bool, but declare as Oid to ensure this struct Step #6 - "compile-libfuzzer-introspector-x86_64": * contains no padding Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid is_trigger; /* is it a trigger function? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid user_id; /* User calling the function, or 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": } plperl_proc_key; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plperl_query_desc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char qname[24]; Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext plan_cxt; /* context holding this struct */ Step #6 - "compile-libfuzzer-introspector-x86_64": SPIPlanPtr plan; Step #6 - "compile-libfuzzer-introspector-x86_64": int nargs; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *argtypes; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *arginfuncs; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *argtypioparams; Step #6 - "compile-libfuzzer-introspector-x86_64": } plperl_query_desc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plperl_query_entry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char query_name[NAMEDATALEN]; Step #6 - "compile-libfuzzer-introspector-x86_64": plperl_query_desc *query_data; Step #6 - "compile-libfuzzer-introspector-x86_64": } plperl_query_entry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plperl_proc_ptr Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": plperl_proc_key proc_key; /* Hash key (must be first!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": plperl_proc_desc *proc_ptr; Step #6 - "compile-libfuzzer-introspector-x86_64": } plperl_proc_ptr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plperl_call_data Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": plperl_proc_desc *prodesc; Step #6 - "compile-libfuzzer-introspector-x86_64": FunctionCallInfo fcinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": /* remaining fields are used only in a function returning set: */ Step #6 - "compile-libfuzzer-introspector-x86_64": Tuplestorestate *tuple_store; Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc ret_tdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid cdomain_oid; /* 0 unless returning domain-over-composite */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *cdomain_info; Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext tmp_cxt; Step #6 - "compile-libfuzzer-introspector-x86_64": } plperl_call_data; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plperl_proc_desc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *proname; /* user name of procedure */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext fn_cxt; /* memory context for this procedure */ Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned long fn_refcount; /* number of active references */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId fn_xmin; /* xmin/TID of procedure's pg_proc tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData fn_tid; Step #6 - "compile-libfuzzer-introspector-x86_64": SV *reference; /* CODE reference for Perl sub */ Step #6 - "compile-libfuzzer-introspector-x86_64": plperl_interp_desc *interp; /* interpreter it's created in */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_readonly; /* is function readonly (not volatile)? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid lang_oid; Step #6 - "compile-libfuzzer-introspector-x86_64": List *trftypes; Step #6 - "compile-libfuzzer-introspector-x86_64": bool lanpltrusted; /* is it plperl, rather than plperlu? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retistuple; /* true, if function returns tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retisset; /* true, if function returns set */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retisarray; /* true if function returns array */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* Conversion info for function's result type: */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid result_oid; /* Oid of result type */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo result_in_func; /* I/O function and arg for result type */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid result_typioparam; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Per-argument info for function's argument types: */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nargs; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *arg_out_func; /* output fns for arg types */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *arg_is_rowtype; /* is each arg composite? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *arg_arraytype; /* InvalidOid if not an array */ Step #6 - "compile-libfuzzer-introspector-x86_64": } plperl_proc_desc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct plperl_array_info Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int ndims; Step #6 - "compile-libfuzzer-introspector-x86_64": bool elem_is_rowtype; /* 't' if element type is a rowtype */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *elements; Step #6 - "compile-libfuzzer-introspector-x86_64": bool *nulls; Step #6 - "compile-libfuzzer-introspector-x86_64": int *nelems; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo proc; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo transform_proc; Step #6 - "compile-libfuzzer-introspector-x86_64": } plperl_array_info; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.596 INFO datatypes - __init__: Processing /src/postgresql/src/pl/plperl/plperl_system.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.599 INFO datatypes - __init__: Processing /src/postgresql/src/pl/tcl/pltcl.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pltcl_proc_key Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid proc_id; /* Function OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * is_trigger is really a bool, but declare as Oid to ensure this struct Step #6 - "compile-libfuzzer-introspector-x86_64": * contains no padding Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid is_trigger; /* is it a trigger function? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid user_id; /* User calling the function, or 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": } pltcl_proc_key; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pltcl_query_desc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char qname[20]; Step #6 - "compile-libfuzzer-introspector-x86_64": SPIPlanPtr plan; Step #6 - "compile-libfuzzer-introspector-x86_64": int nargs; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *argtypes; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *arginfuncs; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *argtypioparams; Step #6 - "compile-libfuzzer-introspector-x86_64": } pltcl_query_desc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pltcl_interp_desc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid user_id; /* Hash key (must be first!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Tcl_Interp *interp; /* The interpreter */ Step #6 - "compile-libfuzzer-introspector-x86_64": Tcl_HashTable query_hash; /* pltcl_query_desc structs */ Step #6 - "compile-libfuzzer-introspector-x86_64": } pltcl_interp_desc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *label; Step #6 - "compile-libfuzzer-introspector-x86_64": int sqlerrstate; Step #6 - "compile-libfuzzer-introspector-x86_64": } TclExceptionNameMap; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pltcl_proc_ptr Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": pltcl_proc_key proc_key; /* Hash key (must be first!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": pltcl_proc_desc *proc_ptr; Step #6 - "compile-libfuzzer-introspector-x86_64": } pltcl_proc_ptr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pltcl_proc_desc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *user_proname; /* user's name (from format_procedure) */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *internal_proname; /* Tcl proc name (NULL if deleted) */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext fn_cxt; /* memory context for this procedure */ Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned long fn_refcount; /* number of active references */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId fn_xmin; /* xmin of pg_proc row */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData fn_tid; /* TID of pg_proc row */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_readonly; /* is function readonly? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool lanpltrusted; /* is it pltcl (vs. pltclu)? */ Step #6 - "compile-libfuzzer-introspector-x86_64": pltcl_interp_desc *interp_desc; /* interpreter to use */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid result_typid; /* OID of fn's result type */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo result_in_func; /* input function for fn's result type */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid result_typioparam; /* param to pass to same */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retisset; /* true if function returns a set */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retistuple; /* true if function returns composite */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retisdomain; /* true if function returns domain */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *domain_info; /* opaque cache for domain checks */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nargs; /* number of arguments */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* these arrays have nargs entries: */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *arg_out_func; /* output fns for arg types */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *arg_is_rowtype; /* is each arg composite? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } pltcl_proc_desc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pltcl_call_state Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Call info struct, or NULL in a trigger */ Step #6 - "compile-libfuzzer-introspector-x86_64": FunctionCallInfo fcinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Trigger data, if we're in a normal (not event) trigger; else NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": TriggerData *trigdata; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Function we're executing (NULL if not yet identified) */ Step #6 - "compile-libfuzzer-introspector-x86_64": pltcl_proc_desc *prodesc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Information for SRFs and functions returning composite types. Step #6 - "compile-libfuzzer-introspector-x86_64": * ret_tupdesc and attinmeta are set up if either fn_retistuple or Step #6 - "compile-libfuzzer-introspector-x86_64": * fn_retisset, since even a scalar-returning SRF needs a tuplestore. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc ret_tupdesc; /* return rowtype, if retistuple or retisset */ Step #6 - "compile-libfuzzer-introspector-x86_64": AttInMetadata *attinmeta; /* metadata for building tuples of that type */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": ReturnSetInfo *rsi; /* passed-in ReturnSetInfo, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Tuplestorestate *tuple_store; /* SRFs accumulate result here */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext tuple_store_cxt; /* context and resowner for tuplestore */ Step #6 - "compile-libfuzzer-introspector-x86_64": ResourceOwner tuple_store_owner; Step #6 - "compile-libfuzzer-introspector-x86_64": } pltcl_call_state; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int Tcl_Size; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.620 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_popcount_avx512.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.625 INFO datatypes - __init__: Processing /src/postgresql/src/port/pqsignal.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.629 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_crc32c_armv8.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.632 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32gai_strerror.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.635 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32link.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.639 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_crc32c_sb8.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.658 INFO datatypes - __init__: Processing /src/postgresql/src/port/strlcpy.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.661 INFO datatypes - __init__: Processing /src/postgresql/src/port/system.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.665 INFO datatypes - __init__: Processing /src/postgresql/src/port/pthread_barrier_wait.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.669 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32setlocale.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.673 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32error.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.676 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32pread.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.680 INFO datatypes - __init__: Processing /src/postgresql/src/port/strsep.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.683 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32stat.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.688 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32fseek.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.691 INFO datatypes - __init__: Processing /src/postgresql/src/port/inet_aton.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.695 INFO datatypes - __init__: Processing /src/postgresql/src/port/mkdtemp.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.699 INFO datatypes - __init__: Processing /src/postgresql/src/port/getopt.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.703 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_crc32c_sse42_choose.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.706 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_crc32c_armv8_choose.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.710 INFO datatypes - __init__: Processing /src/postgresql/src/port/open.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.714 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32pwrite.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.718 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32getrusage.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.721 INFO datatypes - __init__: Processing /src/postgresql/src/port/kill.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.725 INFO datatypes - __init__: Processing /src/postgresql/src/port/dirmod.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DWORD ReparseTag; Step #6 - "compile-libfuzzer-introspector-x86_64": WORD ReparseDataLength; Step #6 - "compile-libfuzzer-introspector-x86_64": WORD Reserved; Step #6 - "compile-libfuzzer-introspector-x86_64": /* SymbolicLinkReparseBuffer */ Step #6 - "compile-libfuzzer-introspector-x86_64": WORD SubstituteNameOffset; Step #6 - "compile-libfuzzer-introspector-x86_64": WORD SubstituteNameLength; Step #6 - "compile-libfuzzer-introspector-x86_64": WORD PrintNameOffset; Step #6 - "compile-libfuzzer-introspector-x86_64": WORD PrintNameLength; Step #6 - "compile-libfuzzer-introspector-x86_64": WCHAR PathBuffer[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } REPARSE_JUNCTION_DATA_BUFFER; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.730 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_bitutils.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.738 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_crc32c_loongarch.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.741 INFO datatypes - __init__: Processing /src/postgresql/src/port/bsearch_arg.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.744 INFO datatypes - __init__: Processing /src/postgresql/src/port/chklocale.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.749 INFO datatypes - __init__: Processing /src/postgresql/src/port/quotes.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.753 INFO datatypes - __init__: Processing /src/postgresql/src/port/tar.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.757 INFO datatypes - __init__: Processing /src/postgresql/src/port/strlcat.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.760 INFO datatypes - __init__: Processing /src/postgresql/src/port/strerror.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.765 INFO datatypes - __init__: Processing /src/postgresql/src/port/strnlen.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.768 INFO datatypes - __init__: Processing /src/postgresql/src/port/explicit_bzero.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.771 INFO datatypes - __init__: Processing /src/postgresql/src/port/noblock.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.775 INFO datatypes - __init__: Processing /src/postgresql/src/port/qsort_arg.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.778 INFO datatypes - __init__: Processing /src/postgresql/src/port/path.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ABSOLUTE_PATH_INIT, /* Just past the leading '/' (and Windows Step #6 - "compile-libfuzzer-introspector-x86_64": * drive name if any) of an absolute path */ Step #6 - "compile-libfuzzer-introspector-x86_64": ABSOLUTE_WITH_N_DEPTH, /* We collected 'pathdepth' directories in an Step #6 - "compile-libfuzzer-introspector-x86_64": * absolute path */ Step #6 - "compile-libfuzzer-introspector-x86_64": RELATIVE_PATH_INIT, /* At start of a relative path */ Step #6 - "compile-libfuzzer-introspector-x86_64": RELATIVE_WITH_N_DEPTH, /* We collected 'pathdepth' directories in a Step #6 - "compile-libfuzzer-introspector-x86_64": * relative path */ Step #6 - "compile-libfuzzer-introspector-x86_64": RELATIVE_WITH_PARENT_REF, /* Relative path containing only double-dots */ Step #6 - "compile-libfuzzer-introspector-x86_64": } canonicalize_state; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.787 INFO datatypes - __init__: Processing /src/postgresql/src/port/pgcheckdir.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.790 INFO datatypes - __init__: Processing /src/postgresql/src/port/snprintf.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *bufptr; /* next buffer output position */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *bufstart; /* first buffer element */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *bufend; /* last+1 buffer element, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* bufend == NULL is for sprintf, where we assume buf is big enough */ Step #6 - "compile-libfuzzer-introspector-x86_64": FILE *stream; /* eventual output destination, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nchars; /* # chars sent to stream, or dropped */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool failed; /* call is a failure; errno is set */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PrintfTarget; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ATYPE_NONE = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": ATYPE_INT, Step #6 - "compile-libfuzzer-introspector-x86_64": ATYPE_LONG, Step #6 - "compile-libfuzzer-introspector-x86_64": ATYPE_LONGLONG, Step #6 - "compile-libfuzzer-introspector-x86_64": ATYPE_DOUBLE, Step #6 - "compile-libfuzzer-introspector-x86_64": ATYPE_CHARPTR Step #6 - "compile-libfuzzer-introspector-x86_64": } PrintfArgType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int i; Step #6 - "compile-libfuzzer-introspector-x86_64": long l; Step #6 - "compile-libfuzzer-introspector-x86_64": long long ll; Step #6 - "compile-libfuzzer-introspector-x86_64": double d; Step #6 - "compile-libfuzzer-introspector-x86_64": char *cptr; Step #6 - "compile-libfuzzer-introspector-x86_64": } PrintfArgValue; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.802 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32env.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (_cdecl * PUTENVPROC) (const char *); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.805 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_strong_random.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.809 INFO datatypes - __init__: Processing /src/postgresql/src/port/getopt_long.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.813 INFO datatypes - __init__: Processing /src/postgresql/src/port/inet_net_ntop.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.818 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32fdatasync.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.821 INFO datatypes - __init__: Processing /src/postgresql/src/port/qsort.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.824 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32dlopen.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.828 INFO datatypes - __init__: Processing /src/postgresql/src/port/pgmkdirp.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.832 INFO datatypes - __init__: Processing /src/postgresql/src/port/strtof.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.835 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32security.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.839 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32common.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.842 INFO datatypes - __init__: Processing /src/postgresql/src/port/getpeereid.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.846 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32ntdll.c Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct NtDllRoutine Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *name; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_funcptr_t *address; Step #6 - "compile-libfuzzer-introspector-x86_64": } NtDllRoutine; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.849 INFO datatypes - __init__: Processing /src/postgresql/src/port/win32gettimeofday.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.853 INFO datatypes - __init__: Processing /src/postgresql/src/port/dirent.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.857 INFO datatypes - __init__: Processing /src/postgresql/src/port/pgsleep.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.860 INFO datatypes - __init__: Processing /src/postgresql/src/port/pg_crc32c_sse42.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.863 INFO datatypes - __init__: Processing /src/postgresql/src/port/pgstrsignal.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.867 INFO datatypes - __init__: Processing /src/postgresql/src/port/pthread-win32.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef ULONG pthread_key_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int pthread_once_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pthread_mutex_t Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* initstate = 0: not initialized; 1: init done; 2: init in progress */ Step #6 - "compile-libfuzzer-introspector-x86_64": LONG initstate; Step #6 - "compile-libfuzzer-introspector-x86_64": CRITICAL_SECTION csection; Step #6 - "compile-libfuzzer-introspector-x86_64": } pthread_mutex_t; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.870 INFO datatypes - __init__: Processing /src/postgresql/src/port/pgstrcasecmp.c Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.874 INFO datatypes - __init__: Processing /src/postgresql/src/include/fmgr.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct FunctionCallInfoBaseData *FunctionCallInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct StringInfoData *fmStringInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct FunctionCallInfoBaseData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *flinfo; /* ptr to lookup info used for this call */ Step #6 - "compile-libfuzzer-introspector-x86_64": fmNodePtr context; /* pass info about context of call */ Step #6 - "compile-libfuzzer-introspector-x86_64": fmNodePtr resultinfo; /* pass or return extra info about result */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid fncollation; /* collation for function to use */ Step #6 - "compile-libfuzzer-introspector-x86_64": #define FIELDNO_FUNCTIONCALLINFODATA_ISNULL 4 Step #6 - "compile-libfuzzer-introspector-x86_64": bool isnull; /* function must set true if result is NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": short nargs; /* # arguments actually passed */ Step #6 - "compile-libfuzzer-introspector-x86_64": #define FIELDNO_FUNCTIONCALLINFODATA_ARGS 6 Step #6 - "compile-libfuzzer-introspector-x86_64": NullableDatum args[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } FunctionCallInfoBaseData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef const Pg_finfo_record *(*PGFInfoFunction) (void); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef const Pg_magic_struct *(*PGModuleMagicFunction) (void); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum FmgrHookEventType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FHET_START, Step #6 - "compile-libfuzzer-introspector-x86_64": FHET_END, Step #6 - "compile-libfuzzer-introspector-x86_64": FHET_ABORT, Step #6 - "compile-libfuzzer-introspector-x86_64": } FmgrHookEventType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*fmgr_hook_type) (FmgrHookEventType event, Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *flinfo, Datum *arg); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Aggref *fmAggrefPtr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef Datum (*PGFunction) (FunctionCallInfo fcinfo); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*needs_fmgr_hook_type) (Oid fn_oid); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Node *fmNodePtr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*fmExprContextCallbackFunction) (Datum arg); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct FmgrInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PGFunction fn_addr; /* pointer to function or handler to be called */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid fn_oid; /* OID of function (NOT of handler, if any) */ Step #6 - "compile-libfuzzer-introspector-x86_64": short fn_nargs; /* number of input args (0..FUNC_MAX_ARGS) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_strict; /* function is "strict" (NULL in => NULL out) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fn_retset; /* function returns a set */ Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned char fn_stats; /* collect stats if track_functions > this */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *fn_extra; /* extra space for use by handler */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext fn_mcxt; /* memory context to store fn_extra in */ Step #6 - "compile-libfuzzer-introspector-x86_64": fmNodePtr fn_expr; /* expression parse tree for call, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": } FmgrInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int api_version; /* specifies call convention version number */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* More fields may be added later, for version numbers > 1. */ Step #6 - "compile-libfuzzer-introspector-x86_64": } Pg_finfo_record; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int len; /* sizeof(this struct) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int version; /* PostgreSQL major version */ Step #6 - "compile-libfuzzer-introspector-x86_64": int funcmaxargs; /* FUNC_MAX_ARGS */ Step #6 - "compile-libfuzzer-introspector-x86_64": int indexmaxkeys; /* INDEX_MAX_KEYS */ Step #6 - "compile-libfuzzer-introspector-x86_64": int namedatalen; /* NAMEDATALEN */ Step #6 - "compile-libfuzzer-introspector-x86_64": int float8byval; /* FLOAT8PASSBYVAL */ Step #6 - "compile-libfuzzer-introspector-x86_64": char abi_extra[32]; /* see pg_config_manual.h */ Step #6 - "compile-libfuzzer-introspector-x86_64": } Pg_magic_struct; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.881 INFO datatypes - __init__: Processing /src/postgresql/src/include/port.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int pgsocket; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef unsigned int socklen_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef SOCKET pgsocket; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (*qsort_arg_comparator) (const void *a, const void *b, void *arg); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*pqsigfunc) (SIGNAL_ARGS); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.887 INFO datatypes - __init__: Processing /src/postgresql/src/include/pgstat.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int64 PgStat_Counter; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum IOObject Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": IOOBJECT_RELATION, Step #6 - "compile-libfuzzer-introspector-x86_64": IOOBJECT_TEMP_RELATION, Step #6 - "compile-libfuzzer-introspector-x86_64": IOOBJECT_WAL, Step #6 - "compile-libfuzzer-introspector-x86_64": } IOObject; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum IOContext Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": IOCONTEXT_BULKREAD, Step #6 - "compile-libfuzzer-introspector-x86_64": IOCONTEXT_BULKWRITE, Step #6 - "compile-libfuzzer-introspector-x86_64": IOCONTEXT_INIT, Step #6 - "compile-libfuzzer-introspector-x86_64": IOCONTEXT_NORMAL, Step #6 - "compile-libfuzzer-introspector-x86_64": IOCONTEXT_VACUUM, Step #6 - "compile-libfuzzer-introspector-x86_64": } IOContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_PendingIO Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 bytes[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter counts[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time pending_times[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_PendingIO; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_IO Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_BktypeIO stats[BACKEND_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_IO; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum SessionEndType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DISCONNECT_NOT_YET, /* still active */ Step #6 - "compile-libfuzzer-introspector-x86_64": DISCONNECT_NORMAL, Step #6 - "compile-libfuzzer-introspector-x86_64": DISCONNECT_CLIENT_EOF, Step #6 - "compile-libfuzzer-introspector-x86_64": DISCONNECT_FATAL, Step #6 - "compile-libfuzzer-introspector-x86_64": DISCONNECT_KILLED, Step #6 - "compile-libfuzzer-introspector-x86_64": } SessionEndType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_FunctionCallUsage Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Link to function's hashtable entry (must still be there at exit!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* NULL means we are not tracking the current function call */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_FunctionCounts *fs; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Total time previously charged to function, as of function start */ Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time save_f_total_time; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Backend-wide total time as of function start */ Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time save_total; Step #6 - "compile-libfuzzer-introspector-x86_64": /* system clock as of function start */ Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time start; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_FunctionCallUsage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_BackendPending Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Backend statistics store the same amount of IO data as PGSTAT_KIND_IO. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_PendingIO pending_io; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_BackendPending; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_TableXactStatus Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_inserted; /* tuples inserted in (sub)xact */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_updated; /* tuples updated in (sub)xact */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_deleted; /* tuples deleted in (sub)xact */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool truncdropped; /* relation truncated/dropped in this Step #6 - "compile-libfuzzer-introspector-x86_64": * (sub)xact */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* tuples i/u/d prior to truncate/drop */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter inserted_pre_truncdrop; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter updated_pre_truncdrop; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter deleted_pre_truncdrop; Step #6 - "compile-libfuzzer-introspector-x86_64": int nest_level; /* subtransaction nest level */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* links to other structs for same relation: */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct PgStat_TableXactStatus *upper; /* next higher subxact if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_TableStatus *parent; /* per-table status */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* structs of same subxact level are linked here: */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct PgStat_TableXactStatus *next; /* next of same subxact */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_TableXactStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_StatSubEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter apply_error_count; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter sync_error_count; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter conflict_count[CONFLICT_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_StatSubEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_ArchiverStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter archived_count; /* archival successes */ Step #6 - "compile-libfuzzer-introspector-x86_64": char last_archived_wal[MAX_XFN_CHARS + 1]; /* last WAL file Step #6 - "compile-libfuzzer-introspector-x86_64": * archived */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz last_archived_timestamp; /* last archival success time */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter failed_count; /* failed archival attempts */ Step #6 - "compile-libfuzzer-introspector-x86_64": char last_failed_wal[MAX_XFN_CHARS + 1]; /* WAL file involved in Step #6 - "compile-libfuzzer-introspector-x86_64": * last failure */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz last_failed_timestamp; /* last archival failure time */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_ArchiverStats; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_BktypeIO Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 bytes[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter counts[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter times[IOOBJECT_NUM_TYPES][IOCONTEXT_NUM_TYPES][IOOP_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_BktypeIO; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_StatTabEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numscans; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz lastscan; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_returned; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_fetched; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_inserted; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_updated; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_deleted; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_hot_updated; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_newpage_updated; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter live_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter dead_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter mod_since_analyze; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter ins_since_vacuum; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_fetched; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_hit; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz last_vacuum_time; /* user initiated vacuum */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter vacuum_count; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz last_autovacuum_time; /* autovacuum initiated */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter autovacuum_count; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz last_analyze_time; /* user initiated */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter analyze_count; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz last_autoanalyze_time; /* autovacuum initiated */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter autoanalyze_count; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter total_vacuum_time; /* times in milliseconds */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter total_autovacuum_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter total_analyze_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter total_autoanalyze_time; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_StatTabEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_TableStatus Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid id; /* table's OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool shared; /* is it a shared catalog? */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct PgStat_TableXactStatus *trans; /* lowest subxact's counts */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_TableCounts counts; /* event counts to be sent */ Step #6 - "compile-libfuzzer-introspector-x86_64": Relation relation; /* rel that is using this entry */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_TableStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum TrackFunctionsLevel Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TRACK_FUNC_OFF, Step #6 - "compile-libfuzzer-introspector-x86_64": TRACK_FUNC_PL, Step #6 - "compile-libfuzzer-introspector-x86_64": TRACK_FUNC_ALL, Step #6 - "compile-libfuzzer-introspector-x86_64": } TrackFunctionsLevel; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_BackendSubEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter apply_error_count; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter sync_error_count; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter conflict_count[CONFLICT_NUM_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_BackendSubEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_CheckpointerStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter num_timed; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter num_requested; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter num_performed; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter restartpoints_timed; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter restartpoints_requested; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter restartpoints_performed; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter write_time; /* times in milliseconds */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter sync_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter buffers_written; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter slru_written; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_CheckpointerStats; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_StatDBEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter xact_commit; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter xact_rollback; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_fetched; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_hit; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_returned; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_fetched; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_inserted; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_updated; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_deleted; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz last_autovac_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter conflict_tablespace; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter conflict_lock; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter conflict_snapshot; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter conflict_logicalslot; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter conflict_bufferpin; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter conflict_startup_deadlock; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter temp_files; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter temp_bytes; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter deadlocks; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter checksum_failures; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz last_checksum_failure; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blk_read_time; /* times in microseconds */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blk_write_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter sessions; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter session_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter active_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter idle_in_transaction_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter sessions_abandoned; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter sessions_fatal; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter sessions_killed; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter parallel_workers_to_launch; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter parallel_workers_launched; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_StatDBEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_WalStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_records; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_fpi; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 wal_bytes; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_buffers_full; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_write; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_sync; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_write_time; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_sync_time; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_WalStats; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum PgStat_FetchConsistency Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PGSTAT_FETCH_CONSISTENCY_NONE, Step #6 - "compile-libfuzzer-introspector-x86_64": PGSTAT_FETCH_CONSISTENCY_CACHE, Step #6 - "compile-libfuzzer-introspector-x86_64": PGSTAT_FETCH_CONSISTENCY_SNAPSHOT, Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_FetchConsistency; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_StatFuncEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numcalls; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter total_time; /* times in microseconds */ Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter self_time; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_StatFuncEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_BgWriterStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter buf_written_clean; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter maxwritten_clean; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter buf_alloc; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_BgWriterStats; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_FunctionCounts Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numcalls; Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time total_time; Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time self_time; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_FunctionCounts; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum IOOp Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* IOs not tracked in bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": IOOP_EVICT, Step #6 - "compile-libfuzzer-introspector-x86_64": IOOP_FSYNC, Step #6 - "compile-libfuzzer-introspector-x86_64": IOOP_HIT, Step #6 - "compile-libfuzzer-introspector-x86_64": IOOP_REUSE, Step #6 - "compile-libfuzzer-introspector-x86_64": IOOP_WRITEBACK, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* IOs tracked in bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": IOOP_EXTEND, Step #6 - "compile-libfuzzer-introspector-x86_64": IOOP_READ, Step #6 - "compile-libfuzzer-introspector-x86_64": IOOP_WRITE, Step #6 - "compile-libfuzzer-introspector-x86_64": } IOOp; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_Backend Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_BktypeIO io_stats; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_Backend; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_StatReplSlotEntry Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter spill_txns; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter spill_count; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter spill_bytes; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter stream_txns; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter stream_count; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter stream_bytes; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter total_txns; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter total_bytes; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_StatReplSlotEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_SLRUStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_zeroed; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_hit; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_read; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_written; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_exists; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter flush; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter truncate; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz stat_reset_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_SLRUStats; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_TableCounts Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter numscans; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_returned; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_fetched; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_inserted; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_updated; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_deleted; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_hot_updated; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter tuples_newpage_updated; Step #6 - "compile-libfuzzer-introspector-x86_64": bool truncdropped; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter delta_live_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter delta_dead_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter changed_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_fetched; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter blocks_hit; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_TableCounts; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PgStat_PendingWalStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_buffers_full; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_write; Step #6 - "compile-libfuzzer-introspector-x86_64": PgStat_Counter wal_sync; Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time wal_write_time; Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time wal_sync_time; Step #6 - "compile-libfuzzer-introspector-x86_64": } PgStat_PendingWalStats; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.896 INFO datatypes - __init__: Processing /src/postgresql/src/include/varatt.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct varatt_external Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 va_rawsize; /* Original data size (includes header) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 va_extinfo; /* External saved size (without header) and Step #6 - "compile-libfuzzer-introspector-x86_64": * compression method */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid va_valueid; /* Unique ID of value within TOAST table */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid va_toastrelid; /* RelID of TOAST table containing it */ Step #6 - "compile-libfuzzer-introspector-x86_64": } varatt_external; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct varatt_indirect Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": struct varlena *pointer; /* Pointer to in-memory varlena */ Step #6 - "compile-libfuzzer-introspector-x86_64": } varatt_indirect; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ExpandedObjectHeader ExpandedObjectHeader; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": struct /* Normal varlena (4-byte length) */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 va_header; Step #6 - "compile-libfuzzer-introspector-x86_64": char va_data[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } va_4byte; Step #6 - "compile-libfuzzer-introspector-x86_64": struct /* Compressed-in-line format */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 va_header; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 va_tcinfo; /* Original data size (excludes header) and Step #6 - "compile-libfuzzer-introspector-x86_64": * compression method; see va_extinfo */ Step #6 - "compile-libfuzzer-introspector-x86_64": char va_data[FLEXIBLE_ARRAY_MEMBER]; /* Compressed data */ Step #6 - "compile-libfuzzer-introspector-x86_64": } va_compressed; Step #6 - "compile-libfuzzer-introspector-x86_64": } varattrib_4b; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 va_header; /* Always 0x80 or 0x01 */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 va_tag; /* Type of datum */ Step #6 - "compile-libfuzzer-introspector-x86_64": char va_data[FLEXIBLE_ARRAY_MEMBER]; /* Type-specific data */ Step #6 - "compile-libfuzzer-introspector-x86_64": } varattrib_1b_e; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct varatt_expanded Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ExpandedObjectHeader *eohptr; Step #6 - "compile-libfuzzer-introspector-x86_64": } varatt_expanded; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum vartag_external Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": VARTAG_INDIRECT = 1, Step #6 - "compile-libfuzzer-introspector-x86_64": VARTAG_EXPANDED_RO = 2, Step #6 - "compile-libfuzzer-introspector-x86_64": VARTAG_EXPANDED_RW = 3, Step #6 - "compile-libfuzzer-introspector-x86_64": VARTAG_ONDISK = 18 Step #6 - "compile-libfuzzer-introspector-x86_64": } vartag_external; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 va_header; Step #6 - "compile-libfuzzer-introspector-x86_64": char va_data[FLEXIBLE_ARRAY_MEMBER]; /* Data begins here */ Step #6 - "compile-libfuzzer-introspector-x86_64": } varattrib_1b; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.900 INFO datatypes - __init__: Processing /src/postgresql/src/include/pgtar.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.904 INFO datatypes - __init__: Processing /src/postgresql/src/include/pg_trace.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.907 INFO datatypes - __init__: Processing /src/postgresql/src/include/getopt_long.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.910 INFO datatypes - __init__: Processing /src/postgresql/src/include/pgtime.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int64 pg_time_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pg_tzenum pg_tzenum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pg_tz pg_tz; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.914 INFO datatypes - __init__: Processing /src/postgresql/src/include/miscadmin.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef char *pg_stack_base_t; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum BackendType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": B_INVALID = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Backends and other backend-like processes */ Step #6 - "compile-libfuzzer-introspector-x86_64": B_BACKEND, Step #6 - "compile-libfuzzer-introspector-x86_64": B_DEAD_END_BACKEND, Step #6 - "compile-libfuzzer-introspector-x86_64": B_AUTOVAC_LAUNCHER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_AUTOVAC_WORKER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_BG_WORKER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_WAL_SENDER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_SLOTSYNC_WORKER, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": B_STANDALONE_BACKEND, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Auxiliary processes. These have PGPROC entries, but they are not Step #6 - "compile-libfuzzer-introspector-x86_64": * attached to any particular database, and cannot run transactions or Step #6 - "compile-libfuzzer-introspector-x86_64": * even take heavyweight locks. There can be only one of each of these Step #6 - "compile-libfuzzer-introspector-x86_64": * running at a time. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * If you modify these, make sure to update NUM_AUXILIARY_PROCS and the Step #6 - "compile-libfuzzer-introspector-x86_64": * glossary in the docs. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": B_ARCHIVER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_BG_WRITER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_CHECKPOINTER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_STARTUP, Step #6 - "compile-libfuzzer-introspector-x86_64": B_WAL_RECEIVER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_WAL_SUMMARIZER, Step #6 - "compile-libfuzzer-introspector-x86_64": B_WAL_WRITER, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Logger is not connected to shared memory and does not have a PGPROC Step #6 - "compile-libfuzzer-introspector-x86_64": * entry. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": B_LOGGER, Step #6 - "compile-libfuzzer-introspector-x86_64": } BackendType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*shmem_request_hook_type) (void); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ProcessingMode Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BootstrapProcessing, /* bootstrap creation of template database */ Step #6 - "compile-libfuzzer-introspector-x86_64": InitProcessing, /* initializing system */ Step #6 - "compile-libfuzzer-introspector-x86_64": NormalProcessing, /* normal processing */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ProcessingMode; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.921 INFO datatypes - __init__: Processing /src/postgresql/src/include/c.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*pg_funcptr_t) (void); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint8_t uint8; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint16_t uint16; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef unsigned PG_INT128_TYPE uint128 Step #6 - "compile-libfuzzer-introspector-x86_64": typedef unsigned int Index; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef float float4; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef TransactionId MultiXactId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef char *Pointer; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int8_t int8; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef size_t Size; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef signed int Offset; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef Oid regproc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 TransactionId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 SubTransactionId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct varlena bytea; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct nameData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char data[NAMEDATALEN]; Step #6 - "compile-libfuzzer-introspector-x86_64": } NameData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int16_t int16; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef regproc RegProcedure; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 LocalTransactionId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct varlena text; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef NameData *Name; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 bits32; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef union PGAlignedBlock Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char data[BLCKSZ]; Step #6 - "compile-libfuzzer-introspector-x86_64": double force_align_d; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 force_align_i64; Step #6 - "compile-libfuzzer-introspector-x86_64": } PGAlignedBlock; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef intptr_t sigjmp_buf[5]; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int32_t int32; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32_t uint32; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint16 bits16; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef double float8; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 MultiXactOffset; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct varlena VarChar; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 vl_len_; /* these fields must match ArrayType! */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ndim; /* always 1 for int2vector */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 dataoffset; /* always 0 for int2vector */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid elemtype; Step #6 - "compile-libfuzzer-introspector-x86_64": int dim1; Step #6 - "compile-libfuzzer-introspector-x86_64": int lbound1; Step #6 - "compile-libfuzzer-introspector-x86_64": int16 values[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } int2vector; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef union PGAlignedXLogBlock Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": #ifdef pg_attribute_aligned Step #6 - "compile-libfuzzer-introspector-x86_64": pg_attribute_aligned(PG_IO_ALIGN_SIZE) Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": char data[XLOG_BLCKSZ]; Step #6 - "compile-libfuzzer-introspector-x86_64": double force_align_d; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 force_align_i64; Step #6 - "compile-libfuzzer-introspector-x86_64": } PGAlignedXLogBlock; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int64_t int64; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint64_t uint64; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef PG_INT128_TYPE int128 Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 CommandId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 vl_len_; /* these fields must match ArrayType! */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ndim; /* always 1 for oidvector */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 dataoffset; /* always 0 for oidvector */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid elemtype; Step #6 - "compile-libfuzzer-introspector-x86_64": int dim1; Step #6 - "compile-libfuzzer-introspector-x86_64": int lbound1; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid values[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } oidvector; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint8 bits8; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct varlena BpChar; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef union PGIOAlignedBlock Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": #ifdef pg_attribute_aligned Step #6 - "compile-libfuzzer-introspector-x86_64": pg_attribute_aligned(PG_IO_ALIGN_SIZE) Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": char data[BLCKSZ]; Step #6 - "compile-libfuzzer-introspector-x86_64": double force_align_d; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 force_align_i64; Step #6 - "compile-libfuzzer-introspector-x86_64": } PGIOAlignedBlock; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.929 INFO datatypes - __init__: Processing /src/postgresql/src/include/postgres_fe.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.932 INFO datatypes - __init__: Processing /src/postgresql/src/include/funcapi.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct AttInMetadata Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* full TupleDesc */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc tupdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* array of attribute type input function finfo */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *attinfuncs; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* array of attribute type i/o parameter OIDs */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *attioparams; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* array of attribute typmod */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 *atttypmods; Step #6 - "compile-libfuzzer-introspector-x86_64": } AttInMetadata; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct FuncCallContext Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Number of times we've been called before Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * call_cntr is initialized to 0 for you by SRF_FIRSTCALL_INIT(), and Step #6 - "compile-libfuzzer-introspector-x86_64": * incremented for you every time SRF_RETURN_NEXT() is called. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 call_cntr; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * OPTIONAL maximum number of calls Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * max_calls is here for convenience only and setting it is optional. If Step #6 - "compile-libfuzzer-introspector-x86_64": * not set, you must provide alternative means to know when the function Step #6 - "compile-libfuzzer-introspector-x86_64": * is done. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 max_calls; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * OPTIONAL pointer to miscellaneous user-provided context information Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * user_fctx is for use as a pointer to your own struct to retain Step #6 - "compile-libfuzzer-introspector-x86_64": * arbitrary context information between calls of your function. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *user_fctx; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * OPTIONAL pointer to struct containing attribute type input metadata Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * attinmeta is for use when returning tuples (i.e. composite data types) Step #6 - "compile-libfuzzer-introspector-x86_64": * and is not used when returning base data types. It is only needed if Step #6 - "compile-libfuzzer-introspector-x86_64": * you intend to use BuildTupleFromCStrings() to create the return tuple. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": AttInMetadata *attinmeta; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * memory context used for structures that must live for multiple calls Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * multi_call_memory_ctx is set by SRF_FIRSTCALL_INIT() for you, and used Step #6 - "compile-libfuzzer-introspector-x86_64": * by SRF_RETURN_DONE() for cleanup. It is the most appropriate memory Step #6 - "compile-libfuzzer-introspector-x86_64": * context for any memory that is to be reused across multiple calls of Step #6 - "compile-libfuzzer-introspector-x86_64": * the SRF. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext multi_call_memory_ctx; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * OPTIONAL pointer to struct containing tuple description Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple_desc is for use when returning tuples (i.e. composite data types) Step #6 - "compile-libfuzzer-introspector-x86_64": * and is only needed if you are going to build the tuples with Step #6 - "compile-libfuzzer-introspector-x86_64": * heap_form_tuple() rather than with BuildTupleFromCStrings(). Note that Step #6 - "compile-libfuzzer-introspector-x86_64": * the TupleDesc pointer stored here should usually have been run through Step #6 - "compile-libfuzzer-introspector-x86_64": * BlessTupleDesc() first. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc tuple_desc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": } FuncCallContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum TypeFuncClass Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TYPEFUNC_SCALAR, /* scalar result type */ Step #6 - "compile-libfuzzer-introspector-x86_64": TYPEFUNC_COMPOSITE, /* determinable rowtype result */ Step #6 - "compile-libfuzzer-introspector-x86_64": TYPEFUNC_COMPOSITE_DOMAIN, /* domain over determinable rowtype result */ Step #6 - "compile-libfuzzer-introspector-x86_64": TYPEFUNC_RECORD, /* indeterminate rowtype result */ Step #6 - "compile-libfuzzer-introspector-x86_64": TYPEFUNC_OTHER, /* bogus type, eg pseudotype */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TypeFuncClass; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.936 INFO datatypes - __init__: Processing /src/postgresql/src/include/postgres.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uintptr_t Datum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct NullableDatum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": #define FIELDNO_NULLABLE_DATUM_DATUM 0 Step #6 - "compile-libfuzzer-introspector-x86_64": Datum value; Step #6 - "compile-libfuzzer-introspector-x86_64": #define FIELDNO_NULLABLE_DATUM_ISNULL 1 Step #6 - "compile-libfuzzer-introspector-x86_64": bool isnull; Step #6 - "compile-libfuzzer-introspector-x86_64": /* due to alignment padding this could be used for flags for free */ Step #6 - "compile-libfuzzer-introspector-x86_64": } NullableDatum; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.941 INFO datatypes - __init__: Processing /src/postgresql/src/include/windowapi.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WindowObjectData *WindowObject; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.944 INFO datatypes - __init__: Processing /src/postgresql/src/include/pg_config_manual.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.948 INFO datatypes - __init__: Processing /src/postgresql/src/include/pg_getopt.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.951 INFO datatypes - __init__: Processing /src/postgresql/src/include/postgres_ext.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef unsigned int Oid; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int64_t pg_int64; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.954 INFO datatypes - __init__: Processing /src/postgresql/src/include/archive/shell_archive.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.957 INFO datatypes - __init__: Processing /src/postgresql/src/include/archive/archive_module.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ArchiveModuleState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Private data pointer for use by an archive module. This can be used to Step #6 - "compile-libfuzzer-introspector-x86_64": * store state for the module that will be passed to each of its Step #6 - "compile-libfuzzer-introspector-x86_64": * callbacks. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *private_data; Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiveModuleState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*ArchiveCheckConfiguredCB) (ArchiveModuleState *state); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ArchiveShutdownCB) (ArchiveModuleState *state); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef const ArchiveModuleCallbacks *(*ArchiveModuleInit) (void); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*ArchiveFileCB) (ArchiveModuleState *state, const char *file, const char *path); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ArchiveModuleCallbacks Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ArchiveStartupCB startup_cb; Step #6 - "compile-libfuzzer-introspector-x86_64": ArchiveCheckConfiguredCB check_configured_cb; Step #6 - "compile-libfuzzer-introspector-x86_64": ArchiveFileCB archive_file_cb; Step #6 - "compile-libfuzzer-introspector-x86_64": ArchiveShutdownCB shutdown_cb; Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiveModuleCallbacks; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ArchiveStartupCB) (ArchiveModuleState *state); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.961 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/tupmacs.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.965 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/spgxlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId redirectXid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isBuild; Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogMoveLeafs Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nMoves; /* number of tuples moved from source page */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool newPage; /* init dest page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool replaceDead; /* are we replacing a DEAD source tuple? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool storesNulls; /* pages are in the nulls tree? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* where the parent downlink is */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumParent; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nodeI; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": spgxlogState stateSrc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*---------- Step #6 - "compile-libfuzzer-introspector-x86_64": * data follows: Step #6 - "compile-libfuzzer-introspector-x86_64": * array of deleted tuple numbers, length nMoves Step #6 - "compile-libfuzzer-introspector-x86_64": * array of inserted tuple numbers, length nMoves + 1 or 1 Step #6 - "compile-libfuzzer-introspector-x86_64": * list of leaf tuples, length nMoves + 1 or 1 (unaligned!) Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Note: if replaceDead is true then there is only one inserted tuple Step #6 - "compile-libfuzzer-introspector-x86_64": * number and only one leaf tuple in the data, because we are not copying Step #6 - "compile-libfuzzer-introspector-x86_64": * the dead tuple from the source Step #6 - "compile-libfuzzer-introspector-x86_64": *---------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogMoveLeafs; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogSplitTuple Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* where the prefix tuple goes */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumPrefix; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* where the postfix tuple goes */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumPostfix; Step #6 - "compile-libfuzzer-introspector-x86_64": bool newPage; /* need to init that page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool postfixBlkSame; /* was postfix tuple put on same page as Step #6 - "compile-libfuzzer-introspector-x86_64": * prefix? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * new prefix inner tuple follows, then new postfix inner tuple (both are Step #6 - "compile-libfuzzer-introspector-x86_64": * unaligned!) Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogSplitTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogAddNode Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Offset of the original inner tuple, in the original page (on backup Step #6 - "compile-libfuzzer-introspector-x86_64": * block 0). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Offset of the new tuple, on the new page (on backup block 1). Invalid, Step #6 - "compile-libfuzzer-introspector-x86_64": * if we overwrote the old tuple in the original page). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumNew; Step #6 - "compile-libfuzzer-introspector-x86_64": bool newPage; /* init new page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*---- Step #6 - "compile-libfuzzer-introspector-x86_64": * Where is the parent downlink? parentBlk indicates which page it's on, Step #6 - "compile-libfuzzer-introspector-x86_64": * and offnumParent is the offset within the page. The possible values for Step #6 - "compile-libfuzzer-introspector-x86_64": * parentBlk are: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 0: parent == original page Step #6 - "compile-libfuzzer-introspector-x86_64": * 1: parent == new page Step #6 - "compile-libfuzzer-introspector-x86_64": * 2: parent == different page (blk ref 2) Step #6 - "compile-libfuzzer-introspector-x86_64": * -1: parent not updated Step #6 - "compile-libfuzzer-introspector-x86_64": *---- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int8 parentBlk; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumParent; /* offset within the parent page */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nodeI; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": spgxlogState stateSrc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * updated inner tuple follows (unaligned!) Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogAddNode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogVacuumLeaf Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nDead; /* number of tuples to become DEAD */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nPlaceholder; /* number of tuples to become PLACEHOLDER */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nMove; /* number of tuples to move */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nChain; /* number of tuples to re-chain */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": spgxlogState stateSrc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*---------- Step #6 - "compile-libfuzzer-introspector-x86_64": * data follows: Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple numbers to become DEAD Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple numbers to become PLACEHOLDER Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple numbers to move from (and replace with PLACEHOLDER) Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple numbers to move to (replacing what is there) Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple numbers to update nextOffset links of Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple numbers to insert in nextOffset links Step #6 - "compile-libfuzzer-introspector-x86_64": *---------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogVacuumLeaf; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogVacuumRoot Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* vacuum a root page when it is also a leaf */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nDelete; /* number of tuples to delete */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": spgxlogState stateSrc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* offsets of tuples to delete follow */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogVacuumRoot; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogVacuumRedirect Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nToPlaceholder; /* number of redirects to make placeholders */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber firstPlaceholder; /* first placeholder tuple to remove */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId snapshotConflictHorizon; /* newest XID of removed redirects */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isCatalogRel; /* to handle recovery conflict during logical Step #6 - "compile-libfuzzer-introspector-x86_64": * decoding on standby */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* offsets of redirect tuples to make placeholders follow */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogVacuumRedirect; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogAddLeaf Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool newPage; /* init dest page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool storesNulls; /* page is in the nulls tree? */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumLeaf; /* offset where leaf tuple gets placed */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumHeadLeaf; /* offset of head tuple in chain, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumParent; /* where the parent downlink is, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nodeI; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* new leaf tuple follows (unaligned!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogAddLeaf; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgxlogPickSplit Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool isRootSplit; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nDelete; /* n to delete from Src */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nInsert; /* n to insert on Src and/or Dest */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool initSrc; /* re-init the Src page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool initDest; /* re-init the Dest page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* where to put new inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumInner; Step #6 - "compile-libfuzzer-introspector-x86_64": bool initInner; /* re-init the Inner page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool storesNulls; /* pages are in the nulls tree? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* where the parent downlink is, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool innerIsParent; /* is parent the same as inner page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnumParent; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nodeI; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": spgxlogState stateSrc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*---------- Step #6 - "compile-libfuzzer-introspector-x86_64": * data follows: Step #6 - "compile-libfuzzer-introspector-x86_64": * array of deleted tuple numbers, length nDelete Step #6 - "compile-libfuzzer-introspector-x86_64": * array of inserted tuple numbers, length nInsert Step #6 - "compile-libfuzzer-introspector-x86_64": * array of page selector bytes for inserted tuples, length nInsert Step #6 - "compile-libfuzzer-introspector-x86_64": * new inner tuple (unaligned!) Step #6 - "compile-libfuzzer-introspector-x86_64": * list of leaf tuples, length nInsert (unaligned!) Step #6 - "compile-libfuzzer-introspector-x86_64": *---------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } spgxlogPickSplit; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.970 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/itup.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexTupleData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData t_tid; /* reference TID to heap tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* --------------- Step #6 - "compile-libfuzzer-introspector-x86_64": * t_info is laid out in the following fashion: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 15th (high) bit: has nulls Step #6 - "compile-libfuzzer-introspector-x86_64": * 14th bit: has var-width attributes Step #6 - "compile-libfuzzer-introspector-x86_64": * 13th bit: AM-defined meaning Step #6 - "compile-libfuzzer-introspector-x86_64": * 12-0 bit: size of tuple Step #6 - "compile-libfuzzer-introspector-x86_64": * --------------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned short t_info; /* various info about tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexTupleData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexAttributeBitMapData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bits8 bits[(INDEX_MAX_KEYS + 8 - 1) / 8]; Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexAttributeBitMapData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef IndexAttributeBitMapData * IndexAttributeBitMap; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef IndexTupleData *IndexTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.974 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogreader.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WALOpenSegment Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int ws_file; /* segment file descriptor */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogSegNo ws_segno; /* segment number */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID ws_tli; /* timeline ID of the currently open file */ Step #6 - "compile-libfuzzer-introspector-x86_64": } WALOpenSegment; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (*XLogPageReadCB) (XLogReaderState *xlogreader, Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr targetPagePtr, Step #6 - "compile-libfuzzer-introspector-x86_64": int reqLen, Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr targetRecPtr, Step #6 - "compile-libfuzzer-introspector-x86_64": char *readBuf); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*WALSegmentOpenCB) (XLogReaderState *xlogreader, Step #6 - "compile-libfuzzer-introspector-x86_64": XLogSegNo nextSegNo, Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID *tli_p); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogReaderRoutine Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Data input callback Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * This callback shall read at least reqLen valid bytes of the xlog page Step #6 - "compile-libfuzzer-introspector-x86_64": * starting at targetPagePtr, and store them in readBuf. The callback Step #6 - "compile-libfuzzer-introspector-x86_64": * shall return the number of bytes read (never more than XLOG_BLCKSZ), or Step #6 - "compile-libfuzzer-introspector-x86_64": * -1 on failure. The callback shall sleep, if necessary, to wait for the Step #6 - "compile-libfuzzer-introspector-x86_64": * requested bytes to become available. The callback will not be invoked Step #6 - "compile-libfuzzer-introspector-x86_64": * again for the same page unless more than the returned number of bytes Step #6 - "compile-libfuzzer-introspector-x86_64": * are needed. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * targetRecPtr is the position of the WAL record we're reading. Usually Step #6 - "compile-libfuzzer-introspector-x86_64": * it is equal to targetPagePtr + reqLen, but sometimes xlogreader needs Step #6 - "compile-libfuzzer-introspector-x86_64": * to read and verify the page or segment header, before it reads the Step #6 - "compile-libfuzzer-introspector-x86_64": * actual WAL record it's interested in. In that case, targetRecPtr can Step #6 - "compile-libfuzzer-introspector-x86_64": * be used to determine which timeline to read the page from. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * The callback shall set ->seg.ws_tli to the TLI of the file the page was Step #6 - "compile-libfuzzer-introspector-x86_64": * read from. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogPageReadCB page_read; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Callback to open the specified WAL segment for reading. ->seg.ws_file Step #6 - "compile-libfuzzer-introspector-x86_64": * shall be set to the file descriptor of the opened segment. In case of Step #6 - "compile-libfuzzer-introspector-x86_64": * failure, an error shall be raised by the callback and it shall not Step #6 - "compile-libfuzzer-introspector-x86_64": * return. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * "nextSegNo" is the number of the segment to be opened. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * "tli_p" is an input/output argument. WALRead() uses it to pass the Step #6 - "compile-libfuzzer-introspector-x86_64": * timeline in which the new segment should be found, but the callback can Step #6 - "compile-libfuzzer-introspector-x86_64": * use it to return the TLI that it actually opened. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": WALSegmentOpenCB segment_open; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * WAL segment close callback. ->seg.ws_file shall be set to a negative Step #6 - "compile-libfuzzer-introspector-x86_64": * number. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": WALSegmentCloseCB segment_close; Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogReaderRoutine; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Is this block ref in use? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool in_use; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Identify the block this refers to */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator rlocator; Step #6 - "compile-libfuzzer-introspector-x86_64": ForkNumber forknum; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber blkno; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Prefetching workspace. */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer prefetch_buffer; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* copy of the fork_flags field from the XLogRecordBlockHeader */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Information on full-page image, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool has_image; /* has image, even for consistency checking */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool apply_image; /* has image that should be restored */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *bkp_image; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hole_offset; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hole_length; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 bimg_len; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 bimg_info; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Buffer holding the rmgr-specific data associated with this block */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool has_data; Step #6 - "compile-libfuzzer-introspector-x86_64": char *data; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 data_len; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 data_bufsz; Step #6 - "compile-libfuzzer-introspector-x86_64": } DecodedBkpBlock; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WALReadError Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int wre_errno; /* errno set by the last pg_pread() */ Step #6 - "compile-libfuzzer-introspector-x86_64": int wre_off; /* Offset we tried to read from. */ Step #6 - "compile-libfuzzer-introspector-x86_64": int wre_req; /* Bytes requested to be read. */ Step #6 - "compile-libfuzzer-introspector-x86_64": int wre_read; /* Bytes read by the last read(). */ Step #6 - "compile-libfuzzer-introspector-x86_64": WALOpenSegment wre_seg; /* Segment we tried to read from. */ Step #6 - "compile-libfuzzer-introspector-x86_64": } WALReadError; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*WALSegmentCloseCB) (XLogReaderState *xlogreader); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogReaderState XLogReaderState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WALSegmentContext Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char ws_dir[MAXPGPATH]; Step #6 - "compile-libfuzzer-introspector-x86_64": int ws_segsize; Step #6 - "compile-libfuzzer-introspector-x86_64": } WALSegmentContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct DecodedXLogRecord Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Private member used for resource management. */ Step #6 - "compile-libfuzzer-introspector-x86_64": size_t size; /* total size of decoded record */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool oversized; /* outside the regular decode buffer? */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct DecodedXLogRecord *next; /* decoded record queue link */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Public members. */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr lsn; /* location */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr next_lsn; /* location of next record */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecord header; /* header */ Step #6 - "compile-libfuzzer-introspector-x86_64": RepOriginId record_origin; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId toplevel_xid; /* XID of top-level transaction */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *main_data; /* record's main data portion */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 main_data_len; /* main data portion's length */ Step #6 - "compile-libfuzzer-introspector-x86_64": int max_block_id; /* highest block_id in use (-1 if none) */ Step #6 - "compile-libfuzzer-introspector-x86_64": DecodedBkpBlock blocks[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } DecodedXLogRecord; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum XLogPageReadResult Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": XLREAD_SUCCESS = 0, /* record is successfully read */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLREAD_FAIL = -1, /* failed during reading a record */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLREAD_WOULDBLOCK = -2, /* nonblocking mode only, no data */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogPageReadResult; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.979 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/gist_private.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber prev; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 freespace; Step #6 - "compile-libfuzzer-introspector-x86_64": char tupledata[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTNodeBufferPage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTScanOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": GISTSTATE *giststate; /* index information, see above */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *orderByTypes; /* datatypes of ORDER BY expressions */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": pairingheap *queue; /* queue of unvisited items */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext queueCxt; /* context holding the queue */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool qual_ok; /* false if qual can never be satisfied */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool firstCall; /* true until first gistgettuple call */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* pre-allocated workspace arrays */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexOrderByDistance *distances; /* output area for gistindex_keytest */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* info about killed items if any (killedItems is NULL if never used) */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber *killedItems; /* offset numbers of killed items */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numKilled; /* number of currently stored items */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber curBlkno; /* current number of block */ Step #6 - "compile-libfuzzer-introspector-x86_64": GistNSN curPageLSN; /* pos in the WAL stream when page was read */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* In a non-ordered search, returnable heap items are stored here: */ Step #6 - "compile-libfuzzer-introspector-x86_64": GISTSearchHeapItem pageData[BLCKSZ / sizeof(IndexTupleData)]; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber nPageData; /* number of valid items in array */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber curPageData; /* next item to return */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext pageDataCxt; /* context holding the fetched tuples, for Step #6 - "compile-libfuzzer-introspector-x86_64": * index-only scans */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTScanOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTSTATE Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext scanCxt; /* context for scan-lifespan data */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext tempCxt; /* short-term context for calling functions */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc leafTupdesc; /* index's tuple descriptor */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc nonLeafTupdesc; /* truncated tuple descriptor for non-leaf Step #6 - "compile-libfuzzer-introspector-x86_64": * pages */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc fetchTupdesc; /* tuple descriptor for tuples returned in an Step #6 - "compile-libfuzzer-introspector-x86_64": * index-only scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo consistentFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo unionFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo compressFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo decompressFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo penaltyFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo picksplitFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo equalFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo distanceFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo fetchFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Collations to pass to the support functions */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid supportCollation[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTSTATE; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTSearchHeapItem Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData heapPtr; Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheck; /* T if quals must be rechecked */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheckDistances; /* T if distances must be rechecked */ Step #6 - "compile-libfuzzer-introspector-x86_64": HeapTuple recontup; /* data reconstructed from the index, used in Step #6 - "compile-libfuzzer-introspector-x86_64": * index-only scans */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; /* track offset in page to mark tuple as Step #6 - "compile-libfuzzer-introspector-x86_64": * LP_DEAD */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTSearchHeapItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct gistxlogPage Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber blkno; Step #6 - "compile-libfuzzer-introspector-x86_64": int num; /* number of index tuples following */ Step #6 - "compile-libfuzzer-introspector-x86_64": } gistxlogPage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTInsertStack Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* current page */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber blkno; Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer buffer; Step #6 - "compile-libfuzzer-introspector-x86_64": Page page; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * log sequence number from page->lsn to recognize page update and compare Step #6 - "compile-libfuzzer-introspector-x86_64": * it with page's nsn to recognize page split Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": GistNSN lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If set, we split the page while descending the tree to find an Step #6 - "compile-libfuzzer-introspector-x86_64": * insertion target. It means that we need to retry from the parent, Step #6 - "compile-libfuzzer-introspector-x86_64": * because the downlink of this page might no longer cover the new key. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool retry_from_parent; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* offset of the downlink in the parent page, that points to this page */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber downlinkoffnum; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* pointer to parent */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct GISTInsertStack *parent; Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTInsertStack; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Relation r; Step #6 - "compile-libfuzzer-introspector-x86_64": Relation heapRel; Step #6 - "compile-libfuzzer-introspector-x86_64": Size freespace; /* free space to be left */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_build; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": GISTInsertStack *stack; Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTInsertState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum GistOptBufferingMode Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": GIST_OPTION_BUFFERING_AUTO, Step #6 - "compile-libfuzzer-introspector-x86_64": GIST_OPTION_BUFFERING_ON, Step #6 - "compile-libfuzzer-introspector-x86_64": GIST_OPTION_BUFFERING_OFF, Step #6 - "compile-libfuzzer-introspector-x86_64": } GistOptBufferingMode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef GISTScanOpaqueData *GISTScanOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer buf; /* the split page "half" */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple downlink; /* downlink for this half. */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTPageSplitInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTSearchItem Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": pairingheap_node phNode; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber blkno; /* index page number, or InvalidBlockNumber */ Step #6 - "compile-libfuzzer-introspector-x86_64": union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": GistNSN parentlsn; /* parent page's LSN, if index page */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* we must store parentlsn to detect whether a split occurred */ Step #6 - "compile-libfuzzer-introspector-x86_64": GISTSearchHeapItem heap; /* heap info, if heap tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": } data; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* numberOfOrderBys entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexOrderByDistance distances[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTSearchItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SplitPageLayout Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": gistxlogPage block; Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTupleData *list; Step #6 - "compile-libfuzzer-introspector-x86_64": int lenlist; Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple itup; /* union key for page */ Step #6 - "compile-libfuzzer-introspector-x86_64": Page page; /* to operate */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer buffer; /* to write after all proceed */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": struct SplitPageLayout *next; Step #6 - "compile-libfuzzer-introspector-x86_64": } SplitPageLayout; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GistSplitVector Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": GIST_SPLITVEC splitVector; /* passed to/from user PickSplit method */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Datum spl_lattr[INDEX_MAX_KEYS]; /* Union of subkeys in Step #6 - "compile-libfuzzer-introspector-x86_64": * splitVector.spl_left */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool spl_lisnull[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Datum spl_rattr[INDEX_MAX_KEYS]; /* Union of subkeys in Step #6 - "compile-libfuzzer-introspector-x86_64": * splitVector.spl_right */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool spl_risnull[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool *spl_dontcare; /* flags tuples which could go to either side Step #6 - "compile-libfuzzer-introspector-x86_64": * of the split for zero penalty */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GistSplitVector; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nodeBlocknum; /* index block # this buffer is for */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 blocksCount; /* current # of blocks occupied by buffer */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pageBlocknum; /* temporary file block # */ Step #6 - "compile-libfuzzer-introspector-x86_64": GISTNodeBufferPage *pageBuffer; /* in-memory buffer page */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* is this buffer queued for emptying? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool queuedForEmptying; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* is this a temporary copy, not in the hash table? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isTemp; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int level; /* 0 == leaf */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTNodeBuffer; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTBuildBuffers Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Persistent memory context for the buffers and metadata. */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext context; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": BufFile *pfile; /* Temporary file to store buffers in */ Step #6 - "compile-libfuzzer-introspector-x86_64": long nFileBlocks; /* Current size of the temporary file */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * resizable array of free blocks. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": long *freeBlocks; Step #6 - "compile-libfuzzer-introspector-x86_64": int nFreeBlocks; /* # of currently free blocks in the array */ Step #6 - "compile-libfuzzer-introspector-x86_64": int freeBlocksLen; /* current allocated length of the array */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Hash for buffers by block number */ Step #6 - "compile-libfuzzer-introspector-x86_64": HTAB *nodeBuffersTab; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* List of buffers scheduled for emptying */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *bufferEmptyingQueue; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Parameters to the buffering build algorithm. levelStep determines which Step #6 - "compile-libfuzzer-introspector-x86_64": * levels in the tree have buffers, and pagesPerBuffer determines how Step #6 - "compile-libfuzzer-introspector-x86_64": * large each buffer is. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int levelStep; Step #6 - "compile-libfuzzer-introspector-x86_64": int pagesPerBuffer; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Array of lists of buffers on each level, for final emptying */ Step #6 - "compile-libfuzzer-introspector-x86_64": List **buffersOnLevels; Step #6 - "compile-libfuzzer-introspector-x86_64": int buffersOnLevelsLen; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Dynamically-sized array of buffers that currently have their last page Step #6 - "compile-libfuzzer-introspector-x86_64": * loaded in main memory. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": GISTNodeBuffer **loadedBuffers; Step #6 - "compile-libfuzzer-introspector-x86_64": int loadedBuffersCount; /* # of entries in loadedBuffers */ Step #6 - "compile-libfuzzer-introspector-x86_64": int loadedBuffersLen; /* allocated size of loadedBuffers */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Level of the current root node (= height of the index tree - 1) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int rootlevel; Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTBuildBuffers; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GiSTOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 vl_len_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int fillfactor; /* page fill factor in percent (0..100) */ Step #6 - "compile-libfuzzer-introspector-x86_64": GistOptBufferingMode buffering_mode; /* buffering build mode */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GiSTOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.986 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/session.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Session Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": dsm_segment *segment; /* The session-scoped DSM segment. */ Step #6 - "compile-libfuzzer-introspector-x86_64": dsa_area *area; /* The session-scoped DSA area. */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* State managed by typcache.c. */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct SharedRecordTypmodRegistry *shared_typmod_registry; Step #6 - "compile-libfuzzer-introspector-x86_64": dshash_table *shared_record_table; Step #6 - "compile-libfuzzer-introspector-x86_64": dshash_table *shared_typmod_table; Step #6 - "compile-libfuzzer-introspector-x86_64": } Session; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.989 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/attmap.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct AttrMap Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": AttrNumber *attnums; Step #6 - "compile-libfuzzer-introspector-x86_64": int maplen; Step #6 - "compile-libfuzzer-introspector-x86_64": } AttrMap; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.993 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/brin_internal.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinOpcInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Number of columns stored in an index column of this opclass */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 oi_nstored; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Regular processing of NULLs in BrinValues? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool oi_regular_nulls; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Opaque pointer for the opclass' private use */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *oi_opaque; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Type cache entries of the stored columns */ Step #6 - "compile-libfuzzer-introspector-x86_64": TypeCacheEntry *oi_typcache[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinOpcInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinDesc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Containing memory context */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext bd_context; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* the index relation itself */ Step #6 - "compile-libfuzzer-introspector-x86_64": Relation bd_index; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* tuple descriptor of the index relation */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc bd_tupdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* cached copy for on-disk tuples; generated at first use */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc bd_disktdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* total number of Datum entries that are stored on-disk for all columns */ Step #6 - "compile-libfuzzer-introspector-x86_64": int bd_totalstored; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* per-column info; bd_tupdesc->natts entries long */ Step #6 - "compile-libfuzzer-introspector-x86_64": BrinOpcInfo *bd_info[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:11.997 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/brin_pageops.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.000 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/genam.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexScanDescData *IndexScanDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexBulkDeleteResult Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber num_pages; /* pages remaining in index */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool estimated_count; /* num_index_tuples is an estimate */ Step #6 - "compile-libfuzzer-introspector-x86_64": double num_index_tuples; /* tuples remaining */ Step #6 - "compile-libfuzzer-introspector-x86_64": double tuples_removed; /* # removed during vacuum operation */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pages_newly_deleted; /* # pages marked deleted by us */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pages_deleted; /* # pages marked deleted (could be by us) */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pages_free; /* # pages available for reuse */ Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexBulkDeleteResult; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexVacuumInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Relation index; /* the index being vacuumed */ Step #6 - "compile-libfuzzer-introspector-x86_64": Relation heaprel; /* the heap relation the index belongs to */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool analyze_only; /* ANALYZE (without any actual vacuum) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool report_progress; /* emit progress.h status reports */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool estimated_count; /* num_heap_tuples is an estimate */ Step #6 - "compile-libfuzzer-introspector-x86_64": int message_level; /* ereport level for progress messages */ Step #6 - "compile-libfuzzer-introspector-x86_64": double num_heap_tuples; /* tuples remaining in heap */ Step #6 - "compile-libfuzzer-introspector-x86_64": BufferAccessStrategy strategy; /* access strategy for reads */ Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexVacuumInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum IndexUniqueCheck Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": UNIQUE_CHECK_NO, /* Don't do any uniqueness checking */ Step #6 - "compile-libfuzzer-introspector-x86_64": UNIQUE_CHECK_YES, /* Enforce uniqueness at insertion time */ Step #6 - "compile-libfuzzer-introspector-x86_64": UNIQUE_CHECK_PARTIAL, /* Test uniqueness, but no error */ Step #6 - "compile-libfuzzer-introspector-x86_64": UNIQUE_CHECK_EXISTING, /* Check if existing tuple is unique */ Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexUniqueCheck; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SysScanDescData *SysScanDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexBuildResult Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": double heap_tuples; /* # of tuples seen in parent table */ Step #6 - "compile-libfuzzer-introspector-x86_64": double index_tuples; /* # of tuples inserted into index */ Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexBuildResult; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*IndexBulkDeleteCallback) (ItemPointer itemptr, void *state); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelIndexScanDescData *ParallelIndexScanDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexOrderByDistance Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": double value; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isnull; Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexOrderByDistance; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.005 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xloginsert.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.008 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/toast_helper.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": struct varlena *tai_oldexternal; Step #6 - "compile-libfuzzer-introspector-x86_64": int32 tai_size; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 tai_colflags; Step #6 - "compile-libfuzzer-introspector-x86_64": char tai_compression; Step #6 - "compile-libfuzzer-introspector-x86_64": } ToastAttrInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Before calling toast_tuple_init, the caller must initialize the Step #6 - "compile-libfuzzer-introspector-x86_64": * following fields. Each array must have a length equal to Step #6 - "compile-libfuzzer-introspector-x86_64": * ttc_rel->rd_att->natts. The ttc_oldvalues and ttc_oldisnull fields Step #6 - "compile-libfuzzer-introspector-x86_64": * should be NULL in the case of an insert. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Relation ttc_rel; /* the relation that contains the tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *ttc_values; /* values from the tuple columns */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *ttc_isnull; /* null flags for the tuple columns */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *ttc_oldvalues; /* values from previous tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *ttc_oldisnull; /* null flags from previous tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Before calling toast_tuple_init, the caller should set ttc_attr to Step #6 - "compile-libfuzzer-introspector-x86_64": * point to an array of ToastAttrInfo structures of a length equal to Step #6 - "compile-libfuzzer-introspector-x86_64": * ttc_rel->rd_att->natts. The contents of the array need not be Step #6 - "compile-libfuzzer-introspector-x86_64": * initialized. ttc_flags also does not need to be initialized. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 ttc_flags; Step #6 - "compile-libfuzzer-introspector-x86_64": ToastAttrInfo *ttc_attr; Step #6 - "compile-libfuzzer-introspector-x86_64": } ToastTupleContext; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.012 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogdefs.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint64 XLogRecPtr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint64 XLogSegNo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 TimeLineID; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint16 RepOriginId; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.015 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/amvalidate.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct OpFamilyOpFuncGroup Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid lefttype; /* amoplefttype/amproclefttype */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid righttype; /* amoprighttype/amprocrighttype */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 operatorset; /* bitmask of operators with these types */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 functionset; /* bitmask of support funcs with these types */ Step #6 - "compile-libfuzzer-introspector-x86_64": } OpFamilyOpFuncGroup; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.018 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/nbtree.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BTPageOpaqueData *BTPageOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTPendingFSM Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber target; /* Page deleted by current VACUUM */ Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId safexid; /* Page's BTDeletedPageData.safexid */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTPendingFSM; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BTStackData *BTStack; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTDedupInterval Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber baseoff; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nitems; Step #6 - "compile-libfuzzer-introspector-x86_64": } BTDedupInterval; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTVacuumPostingData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Tuple that will be/was updated */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple itup; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber updatedoffset; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* State needed to describe final itup in WAL */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ndeletedtids; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 deletetids[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } BTVacuumPostingData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTScanPosItem /* what we remember about each match */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData heapTid; /* TID of referenced heap item */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber indexOffset; /* index item's location within page */ Step #6 - "compile-libfuzzer-introspector-x86_64": LocationIndex tupleOffset; /* IndexTuple's offset in workspace, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTScanPosItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BTScanPosData *BTScanPos; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTVacState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": IndexVacuumInfo *info; Step #6 - "compile-libfuzzer-introspector-x86_64": IndexBulkDeleteResult *stats; Step #6 - "compile-libfuzzer-introspector-x86_64": IndexBulkDeleteCallback callback; Step #6 - "compile-libfuzzer-introspector-x86_64": void *callback_state; Step #6 - "compile-libfuzzer-introspector-x86_64": BTCycleId cycleid; Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext pagedelcontext; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * _bt_pendingfsm_finalize() state Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int bufsize; /* pendingpages space (in # elements) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int maxbufsize; /* max bufsize that respects work_mem */ Step #6 - "compile-libfuzzer-introspector-x86_64": BTPendingFSM *pendingpages; /* One entry per newly deleted page */ Step #6 - "compile-libfuzzer-introspector-x86_64": int npendingpages; /* current # valid pendingpages */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTVacState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BTVacuumPostingData *BTVacuumPosting; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTScanPosData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer buf; /* currPage buf (invalid means unpinned) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* page details as of the saved position's call to _bt_readpage */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber currPage; /* page referenced by items array */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber prevPage; /* currPage's left link */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nextPage; /* currPage's right link */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr lsn; /* currPage's LSN */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* scan direction for the saved position's call to _bt_readpage */ Step #6 - "compile-libfuzzer-introspector-x86_64": ScanDirection dir; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If we are doing an index-only scan, nextTupleOffset is the first free Step #6 - "compile-libfuzzer-introspector-x86_64": * location in the associated tuple storage workspace. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nextTupleOffset; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * moreLeft and moreRight track whether we think there may be matching Step #6 - "compile-libfuzzer-introspector-x86_64": * index entries to the left and right of the current page, respectively. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool moreLeft; Step #6 - "compile-libfuzzer-introspector-x86_64": bool moreRight; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The items array is always ordered in index order (ie, increasing Step #6 - "compile-libfuzzer-introspector-x86_64": * indexoffset). When scanning backwards it is convenient to fill the Step #6 - "compile-libfuzzer-introspector-x86_64": * array back-to-front, so we start at the last slot and fill downwards. Step #6 - "compile-libfuzzer-introspector-x86_64": * Hence we need both a first-valid-entry and a last-valid-entry counter. Step #6 - "compile-libfuzzer-introspector-x86_64": * itemIndex is a cursor showing which entry was last returned to caller. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int firstItem; /* first valid index in items[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": int lastItem; /* last valid index in items[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": int itemIndex; /* current index in items[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": BTScanPosItem items[MaxTIDsPerBTreePage]; /* MUST BE LAST */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTScanPosData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 varlena_header_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int fillfactor; /* page fill factor in percent (0..100) */ Step #6 - "compile-libfuzzer-introspector-x86_64": float8 vacuum_cleanup_index_scale_factor; /* deprecated */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool deduplicate_items; /* Try to deduplicate items? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTInsertStateData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple itup; /* Item we're inserting */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size itemsz; /* Size of itup -- should be MAXALIGN()'d */ Step #6 - "compile-libfuzzer-introspector-x86_64": BTScanInsert itup_key; /* Insertion scankey */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Buffer containing leaf page we're likely to insert itup on */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer buf; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Cache of bounds within the current buffer. Only used for insertions Step #6 - "compile-libfuzzer-introspector-x86_64": * where _bt_check_unique is called. See _bt_binsrch_insert and Step #6 - "compile-libfuzzer-introspector-x86_64": * _bt_findinsertloc for details. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool bounds_valid; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber low; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber stricthigh; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * if _bt_binsrch_insert found the location inside existing posting list, Step #6 - "compile-libfuzzer-introspector-x86_64": * save the position inside the list. -1 sentinel value indicates overlap Step #6 - "compile-libfuzzer-introspector-x86_64": * with an existing posting list tuple that has its LP_DEAD bit set. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int postingoff; Step #6 - "compile-libfuzzer-introspector-x86_64": } BTInsertStateData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BTInsertStateData *BTInsertState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTReadPageState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Input parameters, set by _bt_readpage for _bt_checkkeys */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber minoff; /* Lowest non-pivot tuple's offset */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber maxoff; /* Highest non-pivot tuple's offset */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple finaltup; /* Needed by scans with array keys */ Step #6 - "compile-libfuzzer-introspector-x86_64": Page page; /* Page being read */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Per-tuple input parameters, set by _bt_readpage for _bt_checkkeys */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; /* current tuple's page offset number */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Output parameter, set by _bt_checkkeys for _bt_readpage */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber skip; /* Array keys "look ahead" skip offnum */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool continuescan; /* Terminate ongoing (primitive) index scan? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Input and output parameters, set and unset by both _bt_readpage and Step #6 - "compile-libfuzzer-introspector-x86_64": * _bt_checkkeys to manage precheck optimizations Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool prechecked; /* precheck set continuescan to 'true'? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool firstmatch; /* at least one match so far? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Private _bt_checkkeys state used to manage "look ahead" optimization Step #6 - "compile-libfuzzer-introspector-x86_64": * (only used during scans with array keys) Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int16 rechecks; Step #6 - "compile-libfuzzer-introspector-x86_64": int16 targetdistance; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": } BTReadPageState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BTScanInsertData *BTScanInsert; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BTScanOpaqueData *BTScanOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTPageOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber btpo_prev; /* left sibling, or P_NONE if leftmost */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber btpo_next; /* right sibling, or P_NONE if rightmost */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 btpo_level; /* tree level --- zero for leaf pages */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 btpo_flags; /* flag bits, see below */ Step #6 - "compile-libfuzzer-introspector-x86_64": BTCycleId btpo_cycleid; /* vacuum cycle ID of latest split */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTPageOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint16 BTCycleId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTDeletedPageData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId safexid; /* See BTPageIsRecyclable() */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTDeletedPageData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTMetaPageData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 btm_magic; /* should contain BTREE_MAGIC */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 btm_version; /* nbtree version (always <= BTREE_VERSION) */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber btm_root; /* current root location */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 btm_level; /* tree level of the root page */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber btm_fastroot; /* current "fast" root location */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 btm_fastlevel; /* tree level of the "fast" root page */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* remaining fields only valid when btm_version >= BTREE_NOVAC_VERSION */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* number of deleted, non-recyclable pages during last cleanup */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 btm_last_cleanup_num_delpages; Step #6 - "compile-libfuzzer-introspector-x86_64": /* number of heap tuples during last cleanup (deprecated) */ Step #6 - "compile-libfuzzer-introspector-x86_64": float8 btm_last_cleanup_num_heap_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool btm_allequalimage; /* are all columns "equalimage"? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTMetaPageData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTStackData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber bts_blkno; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber bts_offset; Step #6 - "compile-libfuzzer-introspector-x86_64": struct BTStackData *bts_parent; Step #6 - "compile-libfuzzer-introspector-x86_64": } BTStackData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTDedupStateData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Deduplication status info for entire pass over page */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool deduplicate; /* Still deduplicating page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nmaxitems; /* Number of max-sized tuples so far */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size maxpostingsize; /* Limit on size of final tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Metadata about base tuple of current pending posting list */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple base; /* Use to form new posting list */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber baseoff; /* page offset of base */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size basetupsize; /* base size without original posting list */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Other metadata about pending posting list */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer htids; /* Heap TIDs in pending posting list */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nhtids; /* Number of heap TIDs in htids array */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nitems; /* Number of existing tuples/line pointers */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size phystupsize; /* Includes line pointer overhead */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Array of tuples to go on new version of the page. Contains one entry Step #6 - "compile-libfuzzer-introspector-x86_64": * for each group of consecutive items. Note that existing tuples that Step #6 - "compile-libfuzzer-introspector-x86_64": * will not become posting list tuples do not appear in the array (they Step #6 - "compile-libfuzzer-introspector-x86_64": * are implicitly unchanged by deduplication pass). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nintervals; /* current number of intervals in array */ Step #6 - "compile-libfuzzer-introspector-x86_64": BTDedupInterval intervals[MaxIndexTuplesPerPage]; Step #6 - "compile-libfuzzer-introspector-x86_64": } BTDedupStateData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTArrayKeyInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int scan_key; /* index of associated key in keyData */ Step #6 - "compile-libfuzzer-introspector-x86_64": int cur_elem; /* index of current element in elem_values */ Step #6 - "compile-libfuzzer-introspector-x86_64": int num_elems; /* number of elems in current array value */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *elem_values; /* array of num_elems Datums */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTArrayKeyInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BTDedupStateData *BTDedupState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTScanOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* these fields are set by _bt_preprocess_keys(): */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool qual_ok; /* false if qual can never be satisfied */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numberOfKeys; /* number of preprocessed scan keys */ Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey keyData; /* array of preprocessed scan keys */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* workspace for SK_SEARCHARRAY support */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numArrayKeys; /* number of equality-type array keys */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool needPrimScan; /* New prim scan to continue in current dir? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool scanBehind; /* Last array advancement matched -inf attr? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool oppositeDirCheck; /* explicit scanBehind recheck needed? */ Step #6 - "compile-libfuzzer-introspector-x86_64": BTArrayKeyInfo *arrayKeys; /* info about each equality-type array key */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *orderProcs; /* ORDER procs for required equality keys */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext arrayContext; /* scan-lifespan context for array data */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* info about killed items if any (killedItems is NULL if never used) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *killedItems; /* currPos.items indexes of killed items */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numKilled; /* number of currently stored items */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If we are doing an index-only scan, these are the tuple storage Step #6 - "compile-libfuzzer-introspector-x86_64": * workspaces for the currPos and markPos respectively. Each is of size Step #6 - "compile-libfuzzer-introspector-x86_64": * BLCKSZ, so it can hold as much as a full page's worth of tuples. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *currTuples; /* tuple storage for currPos */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *markTuples; /* tuple storage for markPos */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If the marked position is on the same page as current position, we Step #6 - "compile-libfuzzer-introspector-x86_64": * don't use markPos, but just keep the marked itemIndex in markItemIndex Step #6 - "compile-libfuzzer-introspector-x86_64": * (all the rest of currPos is valid for the mark position). Hence, to Step #6 - "compile-libfuzzer-introspector-x86_64": * determine if there is a mark, first look at markItemIndex, then at Step #6 - "compile-libfuzzer-introspector-x86_64": * markPos. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int markItemIndex; /* itemIndex, or -1 if not valid */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* keep these last in struct for efficiency */ Step #6 - "compile-libfuzzer-introspector-x86_64": BTScanPosData currPos; /* current position data */ Step #6 - "compile-libfuzzer-introspector-x86_64": BTScanPosData markPos; /* marked position, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTScanOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BTScanInsertData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool heapkeyspace; Step #6 - "compile-libfuzzer-introspector-x86_64": bool allequalimage; Step #6 - "compile-libfuzzer-introspector-x86_64": bool anynullkeys; Step #6 - "compile-libfuzzer-introspector-x86_64": bool nextkey; Step #6 - "compile-libfuzzer-introspector-x86_64": bool backward; /* backward index scan? */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer scantid; /* tiebreaker for scankeys */ Step #6 - "compile-libfuzzer-introspector-x86_64": int keysz; /* Size of scankeys array */ Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKeyData scankeys[INDEX_MAX_KEYS]; /* Must appear last */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BTScanInsertData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.029 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/rmgrlist.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.034 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/clog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int XidStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_clog_truncate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int64 pageno; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId oldestXact; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oldestXactDb; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_clog_truncate; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.038 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/skey.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ScanKeyData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int sk_flags; /* flags, see below */ Step #6 - "compile-libfuzzer-introspector-x86_64": AttrNumber sk_attno; /* table or index column number */ Step #6 - "compile-libfuzzer-introspector-x86_64": StrategyNumber sk_strategy; /* operator strategy number */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid sk_subtype; /* strategy subtype */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid sk_collation; /* collation to use, if needed */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo sk_func; /* lookup info for function to call */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum sk_argument; /* data to compare */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ScanKeyData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef ScanKeyData *ScanKey; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.041 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/syncscan.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.045 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/rewriteheap.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct RewriteStateData *RewriteState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct LogicalRewriteMappingData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator old_locator; Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator new_locator; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData old_tid; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData new_tid; Step #6 - "compile-libfuzzer-introspector-x86_64": } LogicalRewriteMappingData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.048 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/hash.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint32 Bucket; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HashPageOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber hasho_prevblkno; /* see above */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber hasho_nextblkno; /* see above */ Step #6 - "compile-libfuzzer-introspector-x86_64": Bucket hasho_bucket; /* bucket number this pg belongs to */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hasho_flag; /* page type code + flag bits, see above */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hasho_page_id; /* for identification of hash indexes */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HashPageOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef HashPageOpaqueData *HashPageOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HashScanPosData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer buf; /* if valid, the buffer is pinned */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber currPage; /* current hash index page */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nextPage; /* next overflow page */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber prevPage; /* prev overflow or bucket page */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The items array is always ordered in index order (ie, increasing Step #6 - "compile-libfuzzer-introspector-x86_64": * indexoffset). When scanning backwards it is convenient to fill the Step #6 - "compile-libfuzzer-introspector-x86_64": * array back-to-front, so we start at the last slot and fill downwards. Step #6 - "compile-libfuzzer-introspector-x86_64": * Hence we need both a first-valid-entry and a last-valid-entry counter. Step #6 - "compile-libfuzzer-introspector-x86_64": * itemIndex is a cursor showing which entry was last returned to caller. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int firstItem; /* first valid index in items[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": int lastItem; /* last valid index in items[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": int itemIndex; /* current index in items[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": HashScanPosItem items[MaxIndexTuplesPerPage]; /* MUST BE LAST */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HashScanPosData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HashScanOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Hash value of the scan key, ie, the hash key we seek */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashso_sk_hash; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* remember the buffer associated with primary bucket */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer hashso_bucket_buf; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * remember the buffer associated with primary bucket page of bucket being Step #6 - "compile-libfuzzer-introspector-x86_64": * split. it is required during the scan of the bucket which is being Step #6 - "compile-libfuzzer-introspector-x86_64": * populated during split operation. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer hashso_split_bucket_buf; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Whether scan starts on bucket being populated due to split */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hashso_buc_populated; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Whether scanning bucket being split? The value of this parameter is Step #6 - "compile-libfuzzer-introspector-x86_64": * referred only when hashso_buc_populated is true. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hashso_buc_split; Step #6 - "compile-libfuzzer-introspector-x86_64": /* info about killed items if any (killedItems is NULL if never used) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *killedItems; /* currPos.items indexes of killed items */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numKilled; /* number of currently stored items */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Identify all the matching items on a page and save them in Step #6 - "compile-libfuzzer-introspector-x86_64": * HashScanPosData Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": HashScanPosData currPos; /* current position data */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HashScanOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HashMetaPageData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_magic; /* magic no. for hash tables */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_version; /* version ID */ Step #6 - "compile-libfuzzer-introspector-x86_64": double hashm_ntuples; /* number of tuples stored in the table */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hashm_ffactor; /* target fill factor (tuples/bucket) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hashm_bsize; /* index page size (bytes) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hashm_bmsize; /* bitmap array size (bytes) - must be a power Step #6 - "compile-libfuzzer-introspector-x86_64": * of 2 */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hashm_bmshift; /* log2(bitmap array size in BITS) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_maxbucket; /* ID of maximum bucket in use */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_highmask; /* mask to modulo into entire table */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_lowmask; /* mask to modulo into lower half of table */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_ovflpoint; /* splitpoint from which ovflpage being Step #6 - "compile-libfuzzer-introspector-x86_64": * allocated */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_firstfree; /* lowest-number free ovflpage (bit#) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_nmaps; /* number of bitmap pages */ Step #6 - "compile-libfuzzer-introspector-x86_64": RegProcedure hashm_procid; /* hash function id from pg_proc */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 hashm_spares[HASH_MAX_SPLITPOINTS]; /* spare pages before each Step #6 - "compile-libfuzzer-introspector-x86_64": * splitpoint */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber hashm_mapp[HASH_MAX_BITMAPS]; /* blknos of ovfl bitmaps */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HashMetaPageData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HashOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 varlena_header_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int fillfactor; /* page fill factor in percent (0..100) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HashOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HashScanPosItem /* what we remember about each match */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData heapTid; /* TID of referenced heap item */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber indexOffset; /* index item's location within page */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HashScanPosItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef HashScanOpaqueData *HashScanOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef HashMetaPageData *HashMetaPage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HSpool HSpool; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.054 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/stratnum.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint16 StrategyNumber; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.058 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/rmgrdesc_utils.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.061 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/brin_page.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinSpecialSpace Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 vector[MAXALIGN(1) / sizeof(uint16)]; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinSpecialSpace; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct RevmapContents Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * This array will fill all available space on the page. It should be Step #6 - "compile-libfuzzer-introspector-x86_64": * declared [FLEXIBLE_ARRAY_MEMBER], but for some reason you can't do that Step #6 - "compile-libfuzzer-introspector-x86_64": * in an otherwise-empty struct. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData rm_tids[1]; Step #6 - "compile-libfuzzer-introspector-x86_64": } RevmapContents; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinMetaPageData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 brinMagic; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 brinVersion; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pagesPerRange; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber lastRevmapPage; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinMetaPageData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.065 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/nbtxlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_metadata Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 version; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber root; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 level; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber fastroot; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 fastlevel; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 last_cleanup_num_delpages; Step #6 - "compile-libfuzzer-introspector-x86_64": bool allequalimage; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_metadata; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_reuse_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator locator; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber block; Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId snapshotConflictHorizon; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isCatalogRel; /* to handle recovery conflict during logical Step #6 - "compile-libfuzzer-introspector-x86_64": * decoding on standby */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_reuse_page; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_update Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ndeletedtids; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* POSTING LIST uint16 OFFSETS TO A DELETED TID FOLLOW */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_update; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_unlink_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber leftsib; /* target block's left sibling, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rightsib; /* target block's right sibling */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 level; /* target block's level */ Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId safexid; /* target block's BTPageSetDeleted() XID */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Information needed to recreate a half-dead leaf page with correct Step #6 - "compile-libfuzzer-introspector-x86_64": * topparent link. The fields are only used when deletion operation's Step #6 - "compile-libfuzzer-introspector-x86_64": * target page is an internal page. REDO routine creates half-dead page Step #6 - "compile-libfuzzer-introspector-x86_64": * from scratch to keep things simple (this is the same convenient Step #6 - "compile-libfuzzer-introspector-x86_64": * approach used for the target page itself). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber leafleftsib; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber leafrightsib; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber leaftopparent; /* next child down in the subtree */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_btree_metadata FOLLOWS IF XLOG_BTREE_UNLINK_PAGE_META */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_unlink_page; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_newroot Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rootblk; /* location of new root (redundant with blk 0) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 level; /* its tree level */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_newroot; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_delete Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId snapshotConflictHorizon; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ndeleted; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nupdated; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isCatalogRel; /* to handle recovery conflict during logical Step #6 - "compile-libfuzzer-introspector-x86_64": * decoding on standby */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*---- Step #6 - "compile-libfuzzer-introspector-x86_64": * In payload of blk 0 : Step #6 - "compile-libfuzzer-introspector-x86_64": * - DELETED TARGET OFFSET NUMBERS Step #6 - "compile-libfuzzer-introspector-x86_64": * - UPDATED TARGET OFFSET NUMBERS Step #6 - "compile-libfuzzer-introspector-x86_64": * - UPDATED TUPLES METADATA (xl_btree_update) ITEMS Step #6 - "compile-libfuzzer-introspector-x86_64": *---- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_delete; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_dedup Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nintervals; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* DEDUPLICATION INTERVALS FOLLOW */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_dedup; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_insert Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* POSTING SPLIT OFFSET FOLLOWS (INSERT_POST case) */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* NEW TUPLE ALWAYS FOLLOWS AT THE END */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_insert; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_split Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 level; /* tree level of page being split */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber firstrightoff; /* first origpage item on rightpage */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber newitemoff; /* new item's offset */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 postingoff; /* offset inside orig posting tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_split; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_vacuum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ndeleted; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nupdated; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*---- Step #6 - "compile-libfuzzer-introspector-x86_64": * In payload of blk 0 : Step #6 - "compile-libfuzzer-introspector-x86_64": * - DELETED TARGET OFFSET NUMBERS Step #6 - "compile-libfuzzer-introspector-x86_64": * - UPDATED TARGET OFFSET NUMBERS Step #6 - "compile-libfuzzer-introspector-x86_64": * - UPDATED TUPLES METADATA (xl_btree_update) ITEMS Step #6 - "compile-libfuzzer-introspector-x86_64": *---- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_vacuum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_btree_mark_page_halfdead Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber poffset; /* deleted tuple id in parent page */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* information needed to recreate the leaf page: */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber leafblk; /* leaf block ultimately being deleted */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber leftblk; /* leaf block's left sibling, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rightblk; /* leaf block's right sibling */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber topparent; /* topmost internal page in the subtree */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_btree_mark_page_halfdead; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.069 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogrecord.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogRecord Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 xl_tot_len; /* total len of entire record */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xl_xid; /* xact id */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr xl_prev; /* ptr to previous record in log */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 xl_info; /* flag bits, see below */ Step #6 - "compile-libfuzzer-introspector-x86_64": RmgrId xl_rmid; /* resource manager for this record */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* 2 bytes of padding here, initialize to zero */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_crc32c xl_crc; /* CRC for this record */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* XLogRecordBlockHeaders and XLogRecordDataHeader follow, no padding */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRecord; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogRecordDataHeaderShort Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 id; /* XLR_BLOCK_ID_DATA_SHORT */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 data_length; /* number of payload bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRecordDataHeaderShort; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogRecordBlockHeader Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 id; /* block reference ID */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 fork_flags; /* fork within the relation, and flags */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 data_length; /* number of payload bytes (not including page Step #6 - "compile-libfuzzer-introspector-x86_64": * image) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* If BKPBLOCK_HAS_IMAGE, an XLogRecordBlockImageHeader struct follows */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* If BKPBLOCK_SAME_REL is not set, a RelFileLocator follows */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* BlockNumber follows */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRecordBlockHeader; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogRecordDataHeaderLong Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 id; /* XLR_BLOCK_ID_DATA_LONG */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* followed by uint32 data_length, unaligned */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRecordDataHeaderLong; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogRecordBlockCompressHeader Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hole_length; /* number of bytes in "hole" */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRecordBlockCompressHeader; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogRecordBlockImageHeader Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 length; /* number of page image bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 hole_offset; /* number of bytes before "hole" */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 bimg_info; /* flag bits, see below */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If BKPIMAGE_HAS_HOLE and BKPIMAGE_COMPRESSED(), an Step #6 - "compile-libfuzzer-introspector-x86_64": * XLogRecordBlockCompressHeader struct follows. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRecordBlockImageHeader; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.073 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/htup.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HeapTupleHeaderData HeapTupleHeaderData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef HeapTupleHeaderData *HeapTupleHeader; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef MinimalTupleData *MinimalTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef HeapTupleData *HeapTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct MinimalTupleData MinimalTupleData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HeapTupleData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 t_len; /* length of *t_data */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData t_self; /* SelfItemPointer */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid t_tableOid; /* table the tuple came from */ Step #6 - "compile-libfuzzer-introspector-x86_64": #define FIELDNO_HEAPTUPLEDATA_DATA 3 Step #6 - "compile-libfuzzer-introspector-x86_64": HeapTupleHeader t_data; /* -> tuple header and data */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HeapTupleData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.077 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogutils.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": STANDBY_DISABLED, Step #6 - "compile-libfuzzer-introspector-x86_64": STANDBY_INITIALIZED, Step #6 - "compile-libfuzzer-introspector-x86_64": STANDBY_SNAPSHOT_PENDING, Step #6 - "compile-libfuzzer-introspector-x86_64": STANDBY_SNAPSHOT_READY, Step #6 - "compile-libfuzzer-introspector-x86_64": } HotStandbyState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ReadLocalXLogPageNoWaitPrivate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool end_of_wal; /* true, when end of WAL is reached */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ReadLocalXLogPageNoWaitPrivate; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BLK_NEEDS_REDO, /* changes from WAL record need to be applied */ Step #6 - "compile-libfuzzer-introspector-x86_64": BLK_DONE, /* block is already up-to-date */ Step #6 - "compile-libfuzzer-introspector-x86_64": BLK_RESTORED, /* block was restored from a full-page image */ Step #6 - "compile-libfuzzer-introspector-x86_64": BLK_NOTFOUND, /* block was not found (and hence does not Step #6 - "compile-libfuzzer-introspector-x86_64": * need to be replayed) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRedoAction; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.081 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/gin_private.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 vl_len_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool useFastUpdate; /* use fast updates? */ Step #6 - "compile-libfuzzer-introspector-x86_64": int pendingListCleanupSize; /* maximum size of pending list */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GinOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinBtreeStack Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber blkno; Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer buffer; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber off; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData iptr; Step #6 - "compile-libfuzzer-introspector-x86_64": /* predictNumber contains predicted number of pages on current level */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 predictNumber; Step #6 - "compile-libfuzzer-introspector-x86_64": struct GinBtreeStack *parent; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinBtreeStack; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": GPTP_NO_WORK, Step #6 - "compile-libfuzzer-introspector-x86_64": GPTP_INSERT, Step #6 - "compile-libfuzzer-introspector-x86_64": GPTP_SPLIT, Step #6 - "compile-libfuzzer-introspector-x86_64": } GinPlaceToPageRC; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData *items; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 nitem; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 curitem; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinBtreeDataLeafInsertData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinVacuumState GinVacuumState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinScanKeyData *GinScanKey; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinScanKeyData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Real number of entries in scanEntry[] (always > 0) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 nentries; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Number of entries that extractQueryFn and consistentFn know about */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 nuserentries; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* array of GinScanEntry pointers, one per extracted search condition */ Step #6 - "compile-libfuzzer-introspector-x86_64": GinScanEntry *scanEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * At least one of the entries in requiredEntries must be present for a Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple to match the overall qual. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * additionalEntries contains entries that are needed by the consistent Step #6 - "compile-libfuzzer-introspector-x86_64": * function to decide if an item matches, but are not sufficient to Step #6 - "compile-libfuzzer-introspector-x86_64": * satisfy the qual without entries from requiredEntries. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": GinScanEntry *requiredEntries; Step #6 - "compile-libfuzzer-introspector-x86_64": int nrequired; Step #6 - "compile-libfuzzer-introspector-x86_64": GinScanEntry *additionalEntries; Step #6 - "compile-libfuzzer-introspector-x86_64": int nadditional; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* array of check flags, reported to consistentFn */ Step #6 - "compile-libfuzzer-introspector-x86_64": GinTernaryValue *entryRes; Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*boolConsistentFn) (GinScanKey key); Step #6 - "compile-libfuzzer-introspector-x86_64": GinTernaryValue (*triConsistentFn) (GinScanKey key); Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *consistentFmgrInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo *triConsistentFmgrInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid collation; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* other data needed for calling consistentFn */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum query; Step #6 - "compile-libfuzzer-introspector-x86_64": /* NB: these three arrays have only nuserentries elements! */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *queryValues; Step #6 - "compile-libfuzzer-introspector-x86_64": GinNullCategory *queryCategories; Step #6 - "compile-libfuzzer-introspector-x86_64": Pointer *extra_data; Step #6 - "compile-libfuzzer-introspector-x86_64": StrategyNumber strategy; Step #6 - "compile-libfuzzer-introspector-x86_64": int32 searchMode; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber attnum; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * An excludeOnly scan key is not able to enumerate all matching tuples. Step #6 - "compile-libfuzzer-introspector-x86_64": * That is, to be semantically correct on its own, it would need to have a Step #6 - "compile-libfuzzer-introspector-x86_64": * GIN_CAT_EMPTY_QUERY scanEntry, but it doesn't. Such a key can still be Step #6 - "compile-libfuzzer-introspector-x86_64": * used to filter tuples returned by other scan keys, so we will get the Step #6 - "compile-libfuzzer-introspector-x86_64": * right answers as long as there's at least one non-excludeOnly scan key Step #6 - "compile-libfuzzer-introspector-x86_64": * for each index attribute considered by the search. For efficiency Step #6 - "compile-libfuzzer-introspector-x86_64": * reasons we don't want to have unnecessary GIN_CAT_EMPTY_QUERY entries, Step #6 - "compile-libfuzzer-introspector-x86_64": * so we will convert an excludeOnly scan key to non-excludeOnly (by Step #6 - "compile-libfuzzer-introspector-x86_64": * adding a GIN_CAT_EMPTY_QUERY scanEntry) only if there are no other Step #6 - "compile-libfuzzer-introspector-x86_64": * non-excludeOnly scan keys. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool excludeOnly; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Match status data. curItem is the TID most recently tested (could be a Step #6 - "compile-libfuzzer-introspector-x86_64": * lossy-page pointer). curItemMatches is true if it passes the Step #6 - "compile-libfuzzer-introspector-x86_64": * consistentFn test; if so, recheckCurItem is the recheck flag. Step #6 - "compile-libfuzzer-introspector-x86_64": * isFinished means that all the input entry streams are finished, so this Step #6 - "compile-libfuzzer-introspector-x86_64": * key cannot succeed for any later TIDs. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData curItem; Step #6 - "compile-libfuzzer-introspector-x86_64": bool curItemMatches; Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheckCurItem; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isFinished; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinScanKeyData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinScanOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext tempCtx; Step #6 - "compile-libfuzzer-introspector-x86_64": GinState ginstate; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": GinScanKey keys; /* one per scan qualifier expr */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 nkeys; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": GinScanEntry *entries; /* one per index search condition */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 totalentries; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 allocentries; /* allocated length of entries[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext keyCtx; /* used to hold key and entry data */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool isVoidRes; /* true if query is unsatisfiable */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GinScanOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinBtreeData *GinBtree; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinBtreeData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* search methods */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber (*findChildPage) (GinBtree, GinBtreeStack *); Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber (*getLeftMostChild) (GinBtree, Page); Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*isMoveRight) (GinBtree, Page); Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*findItem) (GinBtree, GinBtreeStack *); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* insert methods */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber (*findChildPtr) (GinBtree, Page, BlockNumber, OffsetNumber); Step #6 - "compile-libfuzzer-introspector-x86_64": GinPlaceToPageRC (*beginPlaceToPage) (GinBtree, Buffer, GinBtreeStack *, void *, BlockNumber, void **, Page *, Page *); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*execPlaceToPage) (GinBtree, Buffer, GinBtreeStack *, void *, BlockNumber, void *); Step #6 - "compile-libfuzzer-introspector-x86_64": void *(*prepareDownlink) (GinBtree, Buffer); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*fillRoot) (GinBtree, Page, BlockNumber, Page, BlockNumber, Page); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool isData; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Relation index; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rootBlkno; Step #6 - "compile-libfuzzer-introspector-x86_64": GinState *ginstate; /* not valid in a data scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool fullScan; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isBuild; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Search key for Entry tree */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber entryAttnum; Step #6 - "compile-libfuzzer-introspector-x86_64": Datum entryKey; Step #6 - "compile-libfuzzer-introspector-x86_64": GinNullCategory entryCategory; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Search key for data tree (posting tree) */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData itemptr; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinBtreeData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinScanEntryData *GinScanEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinScanEntryData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* query key and other information from extractQueryFn */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum queryKey; Step #6 - "compile-libfuzzer-introspector-x86_64": GinNullCategory queryCategory; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isPartialMatch; Step #6 - "compile-libfuzzer-introspector-x86_64": Pointer extra_data; Step #6 - "compile-libfuzzer-introspector-x86_64": StrategyNumber strategy; Step #6 - "compile-libfuzzer-introspector-x86_64": int32 searchMode; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber attnum; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Current page in posting tree */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer buffer; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* current ItemPointer to heap */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData curItem; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* for a partial-match or full-scan query, we accumulate all TIDs here */ Step #6 - "compile-libfuzzer-introspector-x86_64": TIDBitmap *matchBitmap; Step #6 - "compile-libfuzzer-introspector-x86_64": TBMPrivateIterator *matchIterator; Step #6 - "compile-libfuzzer-introspector-x86_64": TBMIterateResult *matchResult; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* used for Posting list and one page in Posting tree */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData *list; Step #6 - "compile-libfuzzer-introspector-x86_64": int nlist; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offset; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool isFinished; Step #6 - "compile-libfuzzer-introspector-x86_64": bool reduceResult; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 predictNumberResult; Step #6 - "compile-libfuzzer-introspector-x86_64": GinBtreeData btree; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinScanEntryData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef GinScanOpaqueData *GinScanOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": GinState *ginstate; Step #6 - "compile-libfuzzer-introspector-x86_64": Size allocatedMemory; Step #6 - "compile-libfuzzer-introspector-x86_64": GinEntryAccumulator *entryallocator; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 eas_used; Step #6 - "compile-libfuzzer-introspector-x86_64": RBTree *tree; Step #6 - "compile-libfuzzer-introspector-x86_64": RBTreeIterator tree_walk; Step #6 - "compile-libfuzzer-introspector-x86_64": } BuildAccumulator; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinTupleCollector Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple *tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 ntuples; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 lentuples; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 sumsize; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinTupleCollector; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Relation index; Step #6 - "compile-libfuzzer-introspector-x86_64": bool oneCol; /* true if single-column index */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * origTupdesc is the nominal tuple descriptor of the index, ie, the i'th Step #6 - "compile-libfuzzer-introspector-x86_64": * attribute shows the key type (not the input data type!) of the i'th Step #6 - "compile-libfuzzer-introspector-x86_64": * index column. In a single-column index this describes the actual leaf Step #6 - "compile-libfuzzer-introspector-x86_64": * index tuples. In a multi-column index, the actual leaf tuples contain Step #6 - "compile-libfuzzer-introspector-x86_64": * a smallint column number followed by a key datum of the appropriate Step #6 - "compile-libfuzzer-introspector-x86_64": * type for that column. We set up tupdesc[i] to describe the actual Step #6 - "compile-libfuzzer-introspector-x86_64": * rowtype of the index tuples for the i'th column, ie, (int2, keytype). Step #6 - "compile-libfuzzer-introspector-x86_64": * Note that in any case, leaf tuples contain more data than is known to Step #6 - "compile-libfuzzer-introspector-x86_64": * the TupleDesc; see access/gin/README for details. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc origTupdesc; Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc tupdesc[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Per-index-column opclass support functions Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo compareFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo extractValueFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo extractQueryFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo consistentFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo triConsistentFn[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo comparePartialFn[INDEX_MAX_KEYS]; /* optional method */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* canPartialMatch[i] is true if comparePartialFn[i] is valid */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool canPartialMatch[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Collations to pass to the support functions */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid supportCollation[INDEX_MAX_KEYS]; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple entry; /* tuple to insert */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isDelete; /* delete old tuple at same offset? */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GinBtreeEntryInsertData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinEntryAccumulator Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RBTNode rbtnode; Step #6 - "compile-libfuzzer-introspector-x86_64": Datum key; Step #6 - "compile-libfuzzer-introspector-x86_64": GinNullCategory category; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber attnum; Step #6 - "compile-libfuzzer-introspector-x86_64": bool shouldSort; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData *list; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 maxcount; /* allocated size of list[] */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 count; /* current number of list[] entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GinEntryAccumulator; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.088 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/brin.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 vl_len_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pagesPerRange; Step #6 - "compile-libfuzzer-introspector-x86_64": bool autosummarize; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinStatsData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pagesPerRange; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber revmapNumPages; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinStatsData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.091 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/tupdesc_details.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct AttrMissing Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool am_present; /* true if non-NULL missing value exists */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum am_value; /* value when attribute is missing */ Step #6 - "compile-libfuzzer-introspector-x86_64": } AttrMissing; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.094 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/tsmapi.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef BlockNumber (*NextSampleBlock_function) (SampleScanState *node, Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nblocks); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*InitSampleScan_function) (SampleScanState *node, Step #6 - "compile-libfuzzer-introspector-x86_64": int eflags); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TsmRoutine Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": NodeTag type; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* List of datatype OIDs for the arguments of the TABLESAMPLE clause */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *parameterTypes; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Can method produce repeatable samples across, or even within, queries? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool repeatable_across_queries; Step #6 - "compile-libfuzzer-introspector-x86_64": bool repeatable_across_scans; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Functions for planning a SampleScan on a physical table */ Step #6 - "compile-libfuzzer-introspector-x86_64": SampleScanGetSampleSize_function SampleScanGetSampleSize; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Functions for executing a SampleScan on a physical table */ Step #6 - "compile-libfuzzer-introspector-x86_64": InitSampleScan_function InitSampleScan; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": BeginSampleScan_function BeginSampleScan; Step #6 - "compile-libfuzzer-introspector-x86_64": NextSampleBlock_function NextSampleBlock; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": NextSampleTuple_function NextSampleTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": EndSampleScan_function EndSampleScan; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TsmRoutine; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*BeginSampleScan_function) (SampleScanState *node, Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *params, Step #6 - "compile-libfuzzer-introspector-x86_64": int nparams, Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 seed); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef OffsetNumber (*NextSampleTuple_function) (SampleScanState *node, Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber blockno, Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber maxoffset); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*SampleScanGetSampleSize_function) (PlannerInfo *root, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *baserel, Step #6 - "compile-libfuzzer-introspector-x86_64": List *paramexprs, Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber *pages, Step #6 - "compile-libfuzzer-introspector-x86_64": double *tuples); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*EndSampleScan_function) (SampleScanState *node); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.098 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/sysattr.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.101 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xact.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": XACT_EVENT_COMMIT, Step #6 - "compile-libfuzzer-introspector-x86_64": XACT_EVENT_PARALLEL_COMMIT, Step #6 - "compile-libfuzzer-introspector-x86_64": XACT_EVENT_ABORT, Step #6 - "compile-libfuzzer-introspector-x86_64": XACT_EVENT_PARALLEL_ABORT, Step #6 - "compile-libfuzzer-introspector-x86_64": XACT_EVENT_PREPARE, Step #6 - "compile-libfuzzer-introspector-x86_64": XACT_EVENT_PRE_COMMIT, Step #6 - "compile-libfuzzer-introspector-x86_64": XACT_EVENT_PARALLEL_PRE_COMMIT, Step #6 - "compile-libfuzzer-introspector-x86_64": XACT_EVENT_PRE_PREPARE, Step #6 - "compile-libfuzzer-introspector-x86_64": } XactEvent; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_xinfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Even though we right now only require two bytes of space in xinfo we Step #6 - "compile-libfuzzer-introspector-x86_64": * use four so following records don't have to care about alignment. Step #6 - "compile-libfuzzer-introspector-x86_64": * Commit records can be large, so copying large portions isn't Step #6 - "compile-libfuzzer-introspector-x86_64": * attractive. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 xinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_xinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_dbinfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid dbId; /* MyDatabaseId */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tsId; /* MyDatabaseTableSpace */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_dbinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_twophase Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xid; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_twophase; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_parsed_abort Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz xact_time; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 xinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Oid dbId; /* MyDatabaseId */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tsId; /* MyDatabaseTableSpace */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nsubxacts; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId *subxacts; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nrels; Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator *xlocators; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nstats; Step #6 - "compile-libfuzzer-introspector-x86_64": xl_xact_stats_item *stats; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId twophase_xid; /* only for 2PC */ Step #6 - "compile-libfuzzer-introspector-x86_64": char twophase_gid[GIDSIZE]; /* only for 2PC */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr origin_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz origin_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_parsed_abort; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*XactCallback) (XactEvent event, void *arg); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_assignment Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xtop; /* assigned XID's top-level XID */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nsubxacts; /* number of subtransaction XIDs */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xsub[FLEXIBLE_ARRAY_MEMBER]; /* assigned subxids */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_assignment; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_relfilelocators Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nrels; /* number of relations */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator xlocators[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_relfilelocators; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_stats_item Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int kind; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid dboid; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * This stores the value of PgStat_HashKey.objid as two uint32 as all the Step #6 - "compile-libfuzzer-introspector-x86_64": * fields of xl_xact_xinfo should be multiples of size(int). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 objid_lo; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 objid_hi; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_stats_item; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_origin Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr origin_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz origin_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_origin; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SUBXACT_EVENT_START_SUB, Step #6 - "compile-libfuzzer-introspector-x86_64": SUBXACT_EVENT_COMMIT_SUB, Step #6 - "compile-libfuzzer-introspector-x86_64": SUBXACT_EVENT_ABORT_SUB, Step #6 - "compile-libfuzzer-introspector-x86_64": SUBXACT_EVENT_PRE_COMMIT_SUB, Step #6 - "compile-libfuzzer-introspector-x86_64": } SubXactEvent; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_stats_items Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nitems; Step #6 - "compile-libfuzzer-introspector-x86_64": xl_xact_stats_item items[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_stats_items; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_commit Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz xact_time; /* time of commit */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_xinfo follows if XLOG_XACT_HAS_INFO */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_dbinfo follows if XINFO_HAS_DBINFO */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_subxacts follows if XINFO_HAS_SUBXACT */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_relfilelocators follows if XINFO_HAS_RELFILELOCATORS */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_stats_items follows if XINFO_HAS_DROPPED_STATS */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_invals follows if XINFO_HAS_INVALS */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_twophase follows if XINFO_HAS_TWOPHASE */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* twophase_gid follows if XINFO_HAS_GID. As a null-terminated string. */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_origin follows if XINFO_HAS_ORIGIN, stored unaligned! */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_commit; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_prepare Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 magic; /* format identifier */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 total_len; /* actual file length */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xid; /* original transaction XID */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid database; /* OID of database it was in */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz prepared_at; /* time of preparation */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid owner; /* user running the transaction */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 nsubxacts; /* number of following subxact XIDs */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 ncommitrels; /* number of delete-on-commit rels */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 nabortrels; /* number of delete-on-abort rels */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 ncommitstats; /* number of stats to drop on commit */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 nabortstats; /* number of stats to drop on abort */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 ninvalmsgs; /* number of cache invalidation messages */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool initfileinval; /* does relcache init file need invalidation? */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 gidlen; /* length of the GID - GID follows the header */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr origin_lsn; /* lsn of this record at origin node */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz origin_timestamp; /* time of prepare at origin node */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_prepare; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SavedTransactionCharacteristics Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int save_XactIsoLevel; Step #6 - "compile-libfuzzer-introspector-x86_64": bool save_XactReadOnly; Step #6 - "compile-libfuzzer-introspector-x86_64": bool save_XactDeferrable; Step #6 - "compile-libfuzzer-introspector-x86_64": } SavedTransactionCharacteristics; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SYNCHRONOUS_COMMIT_OFF, /* asynchronous commit */ Step #6 - "compile-libfuzzer-introspector-x86_64": SYNCHRONOUS_COMMIT_LOCAL_FLUSH, /* wait for local flush only */ Step #6 - "compile-libfuzzer-introspector-x86_64": SYNCHRONOUS_COMMIT_REMOTE_WRITE, /* wait for local flush and remote Step #6 - "compile-libfuzzer-introspector-x86_64": * write */ Step #6 - "compile-libfuzzer-introspector-x86_64": SYNCHRONOUS_COMMIT_REMOTE_FLUSH, /* wait for local and remote flush */ Step #6 - "compile-libfuzzer-introspector-x86_64": SYNCHRONOUS_COMMIT_REMOTE_APPLY, /* wait for local and remote flush and Step #6 - "compile-libfuzzer-introspector-x86_64": * remote apply */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SyncCommitLevel; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*SubXactCallback) (SubXactEvent event, SubTransactionId mySubid, Step #6 - "compile-libfuzzer-introspector-x86_64": SubTransactionId parentSubid, void *arg); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_subxacts Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nsubxacts; /* number of subtransaction XIDs */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId subxacts[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_subxacts; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_parsed_commit Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz xact_time; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 xinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Oid dbId; /* MyDatabaseId */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tsId; /* MyDatabaseTableSpace */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nsubxacts; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId *subxacts; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nrels; Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator *xlocators; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nstats; Step #6 - "compile-libfuzzer-introspector-x86_64": xl_xact_stats_item *stats; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nmsgs; Step #6 - "compile-libfuzzer-introspector-x86_64": SharedInvalidationMessage *msgs; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId twophase_xid; /* only for 2PC */ Step #6 - "compile-libfuzzer-introspector-x86_64": char twophase_gid[GIDSIZE]; /* only for 2PC */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nabortrels; /* only for 2PC */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator *abortlocators; /* only for 2PC */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nabortstats; /* only for 2PC */ Step #6 - "compile-libfuzzer-introspector-x86_64": xl_xact_stats_item *abortstats; /* only for 2PC */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr origin_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz origin_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_parsed_commit; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_invals Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nmsgs; /* number of shared inval msgs */ Step #6 - "compile-libfuzzer-introspector-x86_64": SharedInvalidationMessage msgs[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_invals; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_xact_abort Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz xact_time; /* time of abort */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_xinfo follows if XLOG_XACT_HAS_INFO */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_dbinfo follows if XINFO_HAS_DBINFO */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_subxacts follows if XINFO_HAS_SUBXACT */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_relfilelocators follows if XINFO_HAS_RELFILELOCATORS */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_stats_items follows if XINFO_HAS_DROPPED_STATS */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* No invalidation messages needed. */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_twophase follows if XINFO_HAS_TWOPHASE */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* twophase_gid follows if XINFO_HAS_GID. As a null-terminated string. */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_xact_origin follows if XINFO_HAS_ORIGIN, stored unaligned! */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_xact_abort; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef xl_xact_parsed_commit xl_xact_parsed_prepare; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.108 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/multixact.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactStatusForKeyShare = 0x00, Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactStatusForShare = 0x01, Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactStatusForNoKeyUpdate = 0x02, Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactStatusForUpdate = 0x03, Step #6 - "compile-libfuzzer-introspector-x86_64": /* an update that doesn't touch "key" columns */ Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactStatusNoKeyUpdate = 0x04, Step #6 - "compile-libfuzzer-introspector-x86_64": /* other updates, and delete */ Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactStatusUpdate = 0x05, Step #6 - "compile-libfuzzer-introspector-x86_64": } MultiXactStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_multixact_truncate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oldestMultiDB; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* to-be-truncated range of multixact offsets */ Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactId startTruncOff; /* just for completeness' sake */ Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactId endTruncOff; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* to-be-truncated range of multixact members */ Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactOffset startTruncMemb; Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactOffset endTruncMemb; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_multixact_truncate; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_multixact_create Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactId mid; /* new MultiXact's ID */ Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactOffset moff; /* its starting offset in members file */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 nmembers; /* number of member XIDs */ Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactMember members[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_multixact_create; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct MultiXactMember Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xid; Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactStatus status; Step #6 - "compile-libfuzzer-introspector-x86_64": } MultiXactMember; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.112 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/gistscan.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.115 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/sequence.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.118 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/ginblock.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef GinPageOpaqueData *GinPageOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef signed char GinNullCategory; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData first; /* first item in this posting list (unpacked) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nbytes; /* number of bytes that follow */ Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned char bytes[FLEXIBLE_ARRAY_MEMBER]; /* varbyte encoded items */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GinPostingList; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinMetaPageData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Pointers to head and tail of pending list, which consists of GIN_LIST Step #6 - "compile-libfuzzer-introspector-x86_64": * pages. These store fast-inserted entries that haven't yet been moved Step #6 - "compile-libfuzzer-introspector-x86_64": * into the regular GIN structure. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber head; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber tail; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Free space in bytes in the pending list's tail page. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 tailFreeSize; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * We store both number of pages and number of heap tuples that are in the Step #6 - "compile-libfuzzer-introspector-x86_64": * pending list. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nPendingPages; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 nPendingHeapTuples; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Statistics for planner use (accurate as of last VACUUM) Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nTotalPages; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nEntryPages; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nDataPages; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 nEntries; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * GIN version number (ideally this should have been at the front, but too Step #6 - "compile-libfuzzer-introspector-x86_64": * late now. Don't move it!) Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Currently 2 (for indexes initialized in 9.4 or later) Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Version 1 (indexes initialized in version 9.1, 9.2 or 9.3), is Step #6 - "compile-libfuzzer-introspector-x86_64": * compatible, but may contain uncompressed posting tree (leaf) pages and Step #6 - "compile-libfuzzer-introspector-x86_64": * posting lists. They will be converted to compressed format when Step #6 - "compile-libfuzzer-introspector-x86_64": * modified. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Version 0 (indexes initialized in 9.0 or before) is compatible but may Step #6 - "compile-libfuzzer-introspector-x86_64": * be missing null entries, including both null keys and placeholders. Step #6 - "compile-libfuzzer-introspector-x86_64": * Reject full-index-scan attempts on such indexes. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 ginVersion; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinMetaPageData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinPageOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rightlink; /* next page if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber maxoff; /* number of PostingItems on GIN_DATA & Step #6 - "compile-libfuzzer-introspector-x86_64": * ~GIN_LEAF page. On GIN_LIST page, number of Step #6 - "compile-libfuzzer-introspector-x86_64": * heap tuples. */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 flags; /* see bit definitions below */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GinPageOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* We use BlockIdData not BlockNumber to avoid padding space wastage */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockIdData child_blkno; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData key; Step #6 - "compile-libfuzzer-introspector-x86_64": } PostingItem; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.122 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/amapi.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum IndexAMProperty Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_UNKNOWN = 0, /* anything not known to core code */ Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_ASC, /* column properties */ Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_DESC, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_NULLS_FIRST, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_NULLS_LAST, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_ORDERABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_DISTANCE_ORDERABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_RETURNABLE, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_SEARCH_ARRAY, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_SEARCH_NULLS, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_CLUSTERABLE, /* index properties */ Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_INDEX_SCAN, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_BITMAP_SCAN, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_BACKWARD_SCAN, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_CAN_ORDER, /* AM properties */ Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_CAN_UNIQUE, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_CAN_MULTI_COL, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_CAN_EXCLUDE, Step #6 - "compile-libfuzzer-introspector-x86_64": AMPROP_CAN_INCLUDE, Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexAMProperty; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef CompareType (*amtranslate_strategy_function) (StrategyNumber strategy, Oid opfamily, Oid opcintype); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef IndexBuildResult *(*ambuild_function) (Relation heapRelation, Step #6 - "compile-libfuzzer-introspector-x86_64": Relation indexRelation, Step #6 - "compile-libfuzzer-introspector-x86_64": struct IndexInfo *indexInfo); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*aminsert_function) (Relation indexRelation, Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *values, Step #6 - "compile-libfuzzer-introspector-x86_64": bool *isnull, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer heap_tid, Step #6 - "compile-libfuzzer-introspector-x86_64": Relation heapRelation, Step #6 - "compile-libfuzzer-introspector-x86_64": IndexUniqueCheck checkUnique, Step #6 - "compile-libfuzzer-introspector-x86_64": bool indexUnchanged, Step #6 - "compile-libfuzzer-introspector-x86_64": struct IndexInfo *indexInfo); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef IndexBulkDeleteResult *(*ambulkdelete_function) (IndexVacuumInfo *info, Step #6 - "compile-libfuzzer-introspector-x86_64": IndexBulkDeleteResult *stats, Step #6 - "compile-libfuzzer-introspector-x86_64": IndexBulkDeleteCallback callback, Step #6 - "compile-libfuzzer-introspector-x86_64": void *callback_state); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*amcanreturn_function) (Relation indexRelation, int attno); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int (*amgettreeheight_function) (Relation rel); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*amproperty_function) (Oid index_oid, int attno, Step #6 - "compile-libfuzzer-introspector-x86_64": IndexAMProperty prop, const char *propname, Step #6 - "compile-libfuzzer-introspector-x86_64": bool *res, bool *isnull); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*amvalidate_function) (Oid opclassoid); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef IndexScanDesc (*ambeginscan_function) (Relation indexRelation, Step #6 - "compile-libfuzzer-introspector-x86_64": int nkeys, Step #6 - "compile-libfuzzer-introspector-x86_64": int norderbys); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*amrestrpos_function) (IndexScanDesc scan); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexAmRoutine Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": NodeTag type; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Total number of strategies (operators) by which we can traverse/search Step #6 - "compile-libfuzzer-introspector-x86_64": * this AM. Zero if AM does not have a fixed set of strategy assignments. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 amstrategies; Step #6 - "compile-libfuzzer-introspector-x86_64": /* total number of support functions that this AM uses */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 amsupport; Step #6 - "compile-libfuzzer-introspector-x86_64": /* opclass options support function number or 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 amoptsprocnum; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM support ORDER BY indexed column's value? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amcanorder; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM support ORDER BY result of an operator on indexed column? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amcanorderbyop; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM support backward scanning? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amcanbackward; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM support UNIQUE indexes? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amcanunique; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM support multi-column indexes? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amcanmulticol; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM require scans to have a constraint on the first index column? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amoptionalkey; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM handle ScalarArrayOpExpr quals? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amsearcharray; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM handle IS NULL/IS NOT NULL quals? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amsearchnulls; Step #6 - "compile-libfuzzer-introspector-x86_64": /* can index storage data type differ from column data type? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amstorage; Step #6 - "compile-libfuzzer-introspector-x86_64": /* can an index of this type be clustered on? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amclusterable; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM handle predicate locks? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool ampredlocks; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM support parallel scan? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amcanparallel; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM support parallel build? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amcanbuildparallel; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM support columns included with clause INCLUDE? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amcaninclude; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM use maintenance_work_mem? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amusemaintenanceworkmem; Step #6 - "compile-libfuzzer-introspector-x86_64": /* does AM store tuple information only at block granularity? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool amsummarizing; Step #6 - "compile-libfuzzer-introspector-x86_64": /* OR of parallel vacuum flags. See vacuum.h for flags. */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 amparallelvacuumoptions; Step #6 - "compile-libfuzzer-introspector-x86_64": /* type of data stored in index, or InvalidOid if variable */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid amkeytype; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If you add new properties to either the above or the below lists, then Step #6 - "compile-libfuzzer-introspector-x86_64": * they should also (usually) be exposed via the property API (see Step #6 - "compile-libfuzzer-introspector-x86_64": * IndexAMProperty at the top of the file, and utils/adt/amutils.c). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* interface functions */ Step #6 - "compile-libfuzzer-introspector-x86_64": ambuild_function ambuild; Step #6 - "compile-libfuzzer-introspector-x86_64": ambuildempty_function ambuildempty; Step #6 - "compile-libfuzzer-introspector-x86_64": aminsert_function aminsert; Step #6 - "compile-libfuzzer-introspector-x86_64": aminsertcleanup_function aminsertcleanup; Step #6 - "compile-libfuzzer-introspector-x86_64": ambulkdelete_function ambulkdelete; Step #6 - "compile-libfuzzer-introspector-x86_64": amvacuumcleanup_function amvacuumcleanup; Step #6 - "compile-libfuzzer-introspector-x86_64": amcanreturn_function amcanreturn; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": amcostestimate_function amcostestimate; Step #6 - "compile-libfuzzer-introspector-x86_64": amgettreeheight_function amgettreeheight; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": amoptions_function amoptions; Step #6 - "compile-libfuzzer-introspector-x86_64": amproperty_function amproperty; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": ambuildphasename_function ambuildphasename; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": amvalidate_function amvalidate; Step #6 - "compile-libfuzzer-introspector-x86_64": amadjustmembers_function amadjustmembers; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": ambeginscan_function ambeginscan; Step #6 - "compile-libfuzzer-introspector-x86_64": amrescan_function amrescan; Step #6 - "compile-libfuzzer-introspector-x86_64": amgettuple_function amgettuple; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": amgetbitmap_function amgetbitmap; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": amendscan_function amendscan; Step #6 - "compile-libfuzzer-introspector-x86_64": ammarkpos_function ammarkpos; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": amrestrpos_function amrestrpos; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* interface functions to support parallel index scans */ Step #6 - "compile-libfuzzer-introspector-x86_64": amestimateparallelscan_function amestimateparallelscan; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": aminitparallelscan_function aminitparallelscan; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": amparallelrescan_function amparallelrescan; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* interface functions to support planning */ Step #6 - "compile-libfuzzer-introspector-x86_64": amtranslate_strategy_function amtranslatestrategy; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": amtranslate_cmptype_function amtranslatecmptype; /* can be NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexAmRoutine; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*amparallelrescan_function) (IndexScanDesc scan); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef Size (*amestimateparallelscan_function) (int nkeys, int norderbys); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*aminitparallelscan_function) (void *target); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef StrategyNumber (*amtranslate_cmptype_function) (CompareType cmptype, Oid opfamily, Oid opcintype); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct OpFamilyMember Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_func; /* is this an operator, or support func? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid object; /* operator or support func's OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": int number; /* strategy or support func number */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid lefttype; /* lefttype */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid righttype; /* righttype */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid sortfamily; /* ordering operator's sort opfamily, or 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool ref_is_hard; /* hard or soft dependency? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool ref_is_family; /* is dependency on opclass or opfamily? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid refobjid; /* OID of opclass or opfamily */ Step #6 - "compile-libfuzzer-introspector-x86_64": } OpFamilyMember; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ambuildempty_function) (Relation indexRelation); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*aminsertcleanup_function) (Relation indexRelation, Step #6 - "compile-libfuzzer-introspector-x86_64": struct IndexInfo *indexInfo); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef IndexBulkDeleteResult *(*amvacuumcleanup_function) (IndexVacuumInfo *info, Step #6 - "compile-libfuzzer-introspector-x86_64": IndexBulkDeleteResult *stats); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*amcostestimate_function) (struct PlannerInfo *root, Step #6 - "compile-libfuzzer-introspector-x86_64": struct IndexPath *path, Step #6 - "compile-libfuzzer-introspector-x86_64": double loop_count, Step #6 - "compile-libfuzzer-introspector-x86_64": Cost *indexStartupCost, Step #6 - "compile-libfuzzer-introspector-x86_64": Cost *indexTotalCost, Step #6 - "compile-libfuzzer-introspector-x86_64": Selectivity *indexSelectivity, Step #6 - "compile-libfuzzer-introspector-x86_64": double *indexCorrelation, Step #6 - "compile-libfuzzer-introspector-x86_64": double *indexPages); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bytea *(*amoptions_function) (Datum reloptions, Step #6 - "compile-libfuzzer-introspector-x86_64": bool validate); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef char *(*ambuildphasename_function) (int64 phasenum); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*amadjustmembers_function) (Oid opfamilyoid, Step #6 - "compile-libfuzzer-introspector-x86_64": Oid opclassoid, Step #6 - "compile-libfuzzer-introspector-x86_64": List *operators, Step #6 - "compile-libfuzzer-introspector-x86_64": List *functions); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*amrescan_function) (IndexScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey keys, Step #6 - "compile-libfuzzer-introspector-x86_64": int nkeys, Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey orderbys, Step #6 - "compile-libfuzzer-introspector-x86_64": int norderbys); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int64 (*amgetbitmap_function) (IndexScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": TIDBitmap *tbm); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*amgettuple_function) (IndexScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ScanDirection direction); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*ammarkpos_function) (IndexScanDesc scan); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*amendscan_function) (IndexScanDesc scan); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.128 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/hash_xlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_insert Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_insert; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_split_complete Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 old_bucket_flag; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 new_bucket_flag; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_split_complete; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_squeeze_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber prevblkno; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nextblkno; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntups; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_prim_bucket_same_wrt; /* true if the page to which Step #6 - "compile-libfuzzer-introspector-x86_64": * tuples are moved is same as Step #6 - "compile-libfuzzer-introspector-x86_64": * primary bucket page */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_prev_bucket_same_wrt; /* true if the page to which Step #6 - "compile-libfuzzer-introspector-x86_64": * tuples are moved is the page Step #6 - "compile-libfuzzer-introspector-x86_64": * previous to the freed overflow Step #6 - "compile-libfuzzer-introspector-x86_64": * page */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_squeeze_page; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_delete Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool clear_dead_marking; /* true if this operation clears Step #6 - "compile-libfuzzer-introspector-x86_64": * LH_PAGE_HAS_DEAD_TUPLES flag */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_primary_bucket_page; /* true if the operation is for Step #6 - "compile-libfuzzer-introspector-x86_64": * primary bucket page */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_delete; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_update_meta_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": double ntuples; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_update_meta_page; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_init_meta_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": double num_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": RegProcedure procid; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ffactor; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_init_meta_page; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_init_bitmap_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 bmsize; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_init_bitmap_page; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_split_allocate_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 new_bucket; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 old_bucket_flag; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 new_bucket_flag; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_split_allocate_page; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_move_page_contents Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntups; Step #6 - "compile-libfuzzer-introspector-x86_64": bool is_prim_bucket_same_wrt; /* true if the page to which Step #6 - "compile-libfuzzer-introspector-x86_64": * tuples are moved is same as Step #6 - "compile-libfuzzer-introspector-x86_64": * primary bucket page */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_move_page_contents; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_add_ovfl_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 bmsize; Step #6 - "compile-libfuzzer-introspector-x86_64": bool bmpage_found; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_add_ovfl_page; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_hash_vacuum_one_page Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId snapshotConflictHorizon; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntuples; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isCatalogRel; /* to handle recovery conflict during logical Step #6 - "compile-libfuzzer-introspector-x86_64": * decoding on standby */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* TARGET OFFSET NUMBERS */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_hash_vacuum_one_page; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.132 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/relation.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.135 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/sdir.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ScanDirection Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BackwardScanDirection = -1, Step #6 - "compile-libfuzzer-introspector-x86_64": NoMovementScanDirection = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": ForwardScanDirection = 1 Step #6 - "compile-libfuzzer-introspector-x86_64": } ScanDirection; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.139 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/table.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.142 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/subtrans.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.145 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlog_internal.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogPageHeaderData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 xlp_magic; /* magic value for correctness checks */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 xlp_info; /* flag bits, see below */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID xlp_tli; /* TimeLineID of first record on page */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr xlp_pageaddr; /* XLOG address of this page */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * When there is not enough space on current page for whole record, we Step #6 - "compile-libfuzzer-introspector-x86_64": * continue on the next page. xlp_rem_len is the number of bytes Step #6 - "compile-libfuzzer-introspector-x86_64": * remaining from a previous page; it tracks xl_tot_len in the initial Step #6 - "compile-libfuzzer-introspector-x86_64": * header. Note that the continuation data isn't necessarily aligned. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 xlp_rem_len; /* total len of remaining data for record */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogPageHeaderData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_parameter_change Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int MaxConnections; Step #6 - "compile-libfuzzer-introspector-x86_64": int max_worker_processes; Step #6 - "compile-libfuzzer-introspector-x86_64": int max_wal_senders; Step #6 - "compile-libfuzzer-introspector-x86_64": int max_prepared_xacts; Step #6 - "compile-libfuzzer-introspector-x86_64": int max_locks_per_xact; Step #6 - "compile-libfuzzer-introspector-x86_64": int wal_level; Step #6 - "compile-libfuzzer-introspector-x86_64": bool wal_log_hints; Step #6 - "compile-libfuzzer-introspector-x86_64": bool track_commit_timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_parameter_change; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef XLogPageHeaderData *XLogPageHeader; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_end_of_recovery Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz end_time; Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID ThisTimeLineID; /* new TLI */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID PrevTimeLineID; /* previous TLI we forked off from */ Step #6 - "compile-libfuzzer-introspector-x86_64": int wal_level; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_end_of_recovery; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_ACTION_PAUSE, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_ACTION_PROMOTE, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_ACTION_SHUTDOWN, Step #6 - "compile-libfuzzer-introspector-x86_64": } RecoveryTargetAction; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct RmgrData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *rm_name; Step #6 - "compile-libfuzzer-introspector-x86_64": void (*rm_redo) (XLogReaderState *record); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*rm_desc) (StringInfo buf, XLogReaderState *record); Step #6 - "compile-libfuzzer-introspector-x86_64": const char *(*rm_identify) (uint8 info); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*rm_startup) (void); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*rm_cleanup) (void); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*rm_mask) (char *pagedata, BlockNumber blkno); Step #6 - "compile-libfuzzer-introspector-x86_64": void (*rm_decode) (struct LogicalDecodingContext *ctx, Step #6 - "compile-libfuzzer-introspector-x86_64": struct XLogRecordBuffer *buf); Step #6 - "compile-libfuzzer-introspector-x86_64": } RmgrData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef XLogLongPageHeaderData *XLogLongPageHeader; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogLongPageHeaderData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": XLogPageHeaderData std; /* standard header fields */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 xlp_sysid; /* system identifier from pg_control */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 xlp_seg_size; /* just as a cross-check */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 xlp_xlog_blcksz; /* just as a cross-check */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogLongPageHeaderData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_restore_point Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz rp_time; Step #6 - "compile-libfuzzer-introspector-x86_64": char rp_name[MAXFNAMELEN]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_restore_point; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_overwrite_contrecord Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr overwritten_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz overwrite_time; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_overwrite_contrecord; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogRecData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": struct XLogRecData *next; /* next struct in chain, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *data; /* start of rmgr data to include */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 len; /* length of rmgr data to include */ Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRecData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.151 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/heaptoast.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.154 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/twophase_rmgr.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*TwoPhaseCallback) (TransactionId xid, uint16 info, Step #6 - "compile-libfuzzer-introspector-x86_64": void *recdata, uint32 len); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint8 TwoPhaseRmgrId; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.158 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/toast_compression.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ToastCompressionId Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TOAST_PGLZ_COMPRESSION_ID = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": TOAST_LZ4_COMPRESSION_ID = 1, Step #6 - "compile-libfuzzer-introspector-x86_64": TOAST_INVALID_COMPRESSION_ID = 2, Step #6 - "compile-libfuzzer-introspector-x86_64": } ToastCompressionId; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.161 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/cmptype.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum CompareType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_INVALID = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_LT = 1, /* BTLessStrategyNumber */ Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_LE = 2, /* BTLessEqualStrategyNumber */ Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_EQ = 3, /* BTEqualStrategyNumber */ Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_GE = 4, /* BTGreaterEqualStrategyNumber */ Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_GT = 5, /* BTGreaterStrategyNumber */ Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_NE = 6, /* no such btree strategy */ Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_OVERLAP, Step #6 - "compile-libfuzzer-introspector-x86_64": COMPARE_CONTAINED_BY, Step #6 - "compile-libfuzzer-introspector-x86_64": } CompareType; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.165 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/tidstore.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TidStore TidStore; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TidStoreIterResult Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber blkno; Step #6 - "compile-libfuzzer-introspector-x86_64": void *internal_page; Step #6 - "compile-libfuzzer-introspector-x86_64": } TidStoreIterResult; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TidStoreIter TidStoreIter; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.168 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/commit_ts.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_commit_ts_set Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz timestamp; Step #6 - "compile-libfuzzer-introspector-x86_64": RepOriginId nodeid; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId mainxid; Step #6 - "compile-libfuzzer-introspector-x86_64": /* subxact Xids follow */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_commit_ts_set; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_commit_ts_truncate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int64 pageno; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId oldestXid; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_commit_ts_truncate; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.172 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/gist.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTPageOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PageGistNSN nsn; /* this value must change on page split */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rightlink; /* next page if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 flags; /* see bit definitions above */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 gist_page_id; /* for identification of GiST indexes */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTPageOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GIST_SPLITVEC Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber *spl_left; /* array of entries that go left */ Step #6 - "compile-libfuzzer-introspector-x86_64": int spl_nleft; /* size of this array */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum spl_ldatum; /* Union of keys in spl_left */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool spl_ldatum_exists; /* true, if spl_ldatum already exists. */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber *spl_right; /* array of entries that go right */ Step #6 - "compile-libfuzzer-introspector-x86_64": int spl_nright; /* size of the array */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum spl_rdatum; /* Union of keys in spl_right */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool spl_rdatum_exists; /* true, if spl_rdatum already exists. */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GIST_SPLITVEC; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTENTRY Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Datum key; Step #6 - "compile-libfuzzer-introspector-x86_64": Relation rel; Step #6 - "compile-libfuzzer-introspector-x86_64": Page page; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offset; Step #6 - "compile-libfuzzer-introspector-x86_64": bool leafkey; Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTENTRY; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GISTDeletedPageContents Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* last xid which could see the page in a scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId deleteXid; Step #6 - "compile-libfuzzer-introspector-x86_64": } GISTDeletedPageContents; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 n; /* number of elements */ Step #6 - "compile-libfuzzer-introspector-x86_64": GISTENTRY vector[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } GistEntryVector; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef GISTPageOpaqueData *GISTPageOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef XLogRecPtr GistNSN; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef PageXLogRecPtr PageGistNSN; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.176 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/tupdesc.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct AttrDefault Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": AttrNumber adnum; Step #6 - "compile-libfuzzer-introspector-x86_64": char *adbin; /* nodeToString representation of expr */ Step #6 - "compile-libfuzzer-introspector-x86_64": } AttrDefault; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TupleConstr Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": AttrDefault *defval; /* array */ Step #6 - "compile-libfuzzer-introspector-x86_64": ConstrCheck *check; /* array */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct AttrMissing *missing; /* missing attributes values, NULL if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 num_defval; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 num_check; Step #6 - "compile-libfuzzer-introspector-x86_64": bool has_not_null; Step #6 - "compile-libfuzzer-introspector-x86_64": bool has_generated_stored; Step #6 - "compile-libfuzzer-introspector-x86_64": } TupleConstr; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TupleDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int natts; /* number of attributes in the tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tdtypeid; /* composite type ID for tuple type */ Step #6 - "compile-libfuzzer-introspector-x86_64": int32 tdtypmod; /* typmod for tuple type */ Step #6 - "compile-libfuzzer-introspector-x86_64": int tdrefcount; /* reference count, or -1 if not counting */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleConstr *constr; /* constraints, or NULL if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* compact_attrs[N] is the compact metadata of Attribute Number N+1 */ Step #6 - "compile-libfuzzer-introspector-x86_64": CompactAttribute compact_attrs[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } TupleDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ConstrCheck Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *ccname; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ccbin; /* nodeToString representation of expr */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool ccenforced; Step #6 - "compile-libfuzzer-introspector-x86_64": bool ccvalid; Step #6 - "compile-libfuzzer-introspector-x86_64": bool ccnoinherit; /* this is a non-inheritable constraint */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ConstrCheck; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TupleDescData *TupleDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct CompactAttribute Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 attcacheoff; /* fixed offset into tuple, if known, or -1 */ Step #6 - "compile-libfuzzer-introspector-x86_64": int16 attlen; /* attr len in bytes or -1 = varlen, -2 = Step #6 - "compile-libfuzzer-introspector-x86_64": * cstring */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool attbyval; /* as FormData_pg_attribute.attbyval */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool attispackable; /* FormData_pg_attribute.attstorage != Step #6 - "compile-libfuzzer-introspector-x86_64": * TYPSTORAGE_PLAIN */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool atthasmissing; /* as FormData_pg_attribute.atthasmissing */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool attisdropped; /* as FormData_pg_attribute.attisdropped */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool attgenerated; /* FormData_pg_attribute.attgenerated != '\0' */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool attnotnull; /* as FormData_pg_attribute.attnotnull */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 attalignby; /* alignment requirement in bytes */ Step #6 - "compile-libfuzzer-introspector-x86_64": } CompactAttribute; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.180 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/gin.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GinStatsData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nPendingPages; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nTotalPages; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nEntryPages; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber nDataPages; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 nEntries; Step #6 - "compile-libfuzzer-introspector-x86_64": int32 ginVersion; Step #6 - "compile-libfuzzer-introspector-x86_64": } GinStatsData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef char GinTernaryValue; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.184 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/tableam.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ScanOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* one of SO_TYPE_* may be specified */ Step #6 - "compile-libfuzzer-introspector-x86_64": SO_TYPE_SEQSCAN = 1 << 0, Step #6 - "compile-libfuzzer-introspector-x86_64": SO_TYPE_BITMAPSCAN = 1 << 1, Step #6 - "compile-libfuzzer-introspector-x86_64": SO_TYPE_SAMPLESCAN = 1 << 2, Step #6 - "compile-libfuzzer-introspector-x86_64": SO_TYPE_TIDSCAN = 1 << 3, Step #6 - "compile-libfuzzer-introspector-x86_64": SO_TYPE_TIDRANGESCAN = 1 << 4, Step #6 - "compile-libfuzzer-introspector-x86_64": SO_TYPE_ANALYZE = 1 << 5, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* several of SO_ALLOW_* may be specified */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* allow or disallow use of access strategy */ Step #6 - "compile-libfuzzer-introspector-x86_64": SO_ALLOW_STRAT = 1 << 6, Step #6 - "compile-libfuzzer-introspector-x86_64": /* report location to syncscan logic? */ Step #6 - "compile-libfuzzer-introspector-x86_64": SO_ALLOW_SYNC = 1 << 7, Step #6 - "compile-libfuzzer-introspector-x86_64": /* verify visibility page-at-a-time? */ Step #6 - "compile-libfuzzer-introspector-x86_64": SO_ALLOW_PAGEMODE = 1 << 8, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* unregister snapshot at scan end? */ Step #6 - "compile-libfuzzer-introspector-x86_64": SO_TEMP_SNAPSHOT = 1 << 9, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * At the discretion of the table AM, bitmap table scans may be able to Step #6 - "compile-libfuzzer-introspector-x86_64": * skip fetching a block from the table if none of the table data is Step #6 - "compile-libfuzzer-introspector-x86_64": * needed. If table data may be needed, set SO_NEED_TUPLES. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": SO_NEED_TUPLES = 1 << 10, Step #6 - "compile-libfuzzer-introspector-x86_64": } ScanOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum TU_UpdateIndexes Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* No indexed columns were updated (incl. TID addressing of tuple) */ Step #6 - "compile-libfuzzer-introspector-x86_64": TU_None, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* A non-summarizing indexed column was updated, or the TID has changed */ Step #6 - "compile-libfuzzer-introspector-x86_64": TU_All, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Only summarized columns were updated, TID is unchanged */ Step #6 - "compile-libfuzzer-introspector-x86_64": TU_Summarizing, Step #6 - "compile-libfuzzer-introspector-x86_64": } TU_UpdateIndexes; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TM_IndexDelete Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData tid; /* table TID from index tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": int16 id; /* Offset into TM_IndexStatus array */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TM_IndexDelete; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TM_IndexDeleteOp Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Relation irel; /* Target index relation */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber iblknum; /* Index block number (for error reports) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool bottomup; /* Bottom-up (not simple) deletion? */ Step #6 - "compile-libfuzzer-introspector-x86_64": int bottomupfreespace; /* Bottom-up space target */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Mutable per-TID information follows (index AM initializes entries) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ndeltids; /* Current # of deltids/status elements */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_IndexDelete *deltids; Step #6 - "compile-libfuzzer-introspector-x86_64": TM_IndexStatus *status; Step #6 - "compile-libfuzzer-introspector-x86_64": } TM_IndexDeleteOp; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TableAmRoutine Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* this must be set to T_TableAmRoutine */ Step #6 - "compile-libfuzzer-introspector-x86_64": NodeTag type; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Slot related callbacks. Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Return slot implementation suitable for storing a tuple of this AM. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": const TupleTableSlotOps *(*slot_callbacks) (Relation rel); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Table scan callbacks. Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Start a scan of `rel`. The callback has to return a TableScanDesc, Step #6 - "compile-libfuzzer-introspector-x86_64": * which will typically be embedded in a larger, AM specific, struct. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * If nkeys != 0, the results need to be filtered by those scan keys. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * pscan, if not NULL, will have already been initialized with Step #6 - "compile-libfuzzer-introspector-x86_64": * parallelscan_initialize(), and has to be for the same relation. Will Step #6 - "compile-libfuzzer-introspector-x86_64": * only be set coming from table_beginscan_parallel(). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * `flags` is a bitmask indicating the type of scan (ScanOptions's Step #6 - "compile-libfuzzer-introspector-x86_64": * SO_TYPE_*, currently only one may be specified), options controlling Step #6 - "compile-libfuzzer-introspector-x86_64": * the scan's behaviour (ScanOptions's SO_ALLOW_*, several may be Step #6 - "compile-libfuzzer-introspector-x86_64": * specified, an AM may ignore unsupported ones) and whether the snapshot Step #6 - "compile-libfuzzer-introspector-x86_64": * needs to be deallocated at scan_end (ScanOptions's SO_TEMP_SNAPSHOT). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TableScanDesc (*scan_begin) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot snapshot, Step #6 - "compile-libfuzzer-introspector-x86_64": int nkeys, struct ScanKeyData *key, Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelTableScanDesc pscan, Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 flags); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Release resources and deallocate scan. If TableScanDesc.temp_snap, Step #6 - "compile-libfuzzer-introspector-x86_64": * TableScanDesc.rs_snapshot needs to be unregistered. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*scan_end) (TableScanDesc scan); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Restart relation scan. If set_params is set to true, allow_{strat, Step #6 - "compile-libfuzzer-introspector-x86_64": * sync, pagemode} (see scan_begin) changes should be taken into account. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*scan_rescan) (TableScanDesc scan, struct ScanKeyData *key, Step #6 - "compile-libfuzzer-introspector-x86_64": bool set_params, bool allow_strat, Step #6 - "compile-libfuzzer-introspector-x86_64": bool allow_sync, bool allow_pagemode); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Return next tuple from `scan`, store in slot. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*scan_getnextslot) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ScanDirection direction, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*----------- Step #6 - "compile-libfuzzer-introspector-x86_64": * Optional functions to provide scanning for ranges of ItemPointers. Step #6 - "compile-libfuzzer-introspector-x86_64": * Implementations must either provide both of these functions, or neither Step #6 - "compile-libfuzzer-introspector-x86_64": * of them. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Implementations of scan_set_tidrange must themselves handle Step #6 - "compile-libfuzzer-introspector-x86_64": * ItemPointers of any value. i.e, they must handle each of the following: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 1) mintid or maxtid is beyond the end of the table; and Step #6 - "compile-libfuzzer-introspector-x86_64": * 2) mintid is above maxtid; and Step #6 - "compile-libfuzzer-introspector-x86_64": * 3) item offset for mintid or maxtid is beyond the maximum offset Step #6 - "compile-libfuzzer-introspector-x86_64": * allowed by the AM. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Implementations can assume that scan_set_tidrange is always called Step #6 - "compile-libfuzzer-introspector-x86_64": * before scan_getnextslot_tidrange or after scan_rescan and before any Step #6 - "compile-libfuzzer-introspector-x86_64": * further calls to scan_getnextslot_tidrange. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*scan_set_tidrange) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer mintid, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer maxtid); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Return next tuple from `scan` that's in the range of TIDs defined by Step #6 - "compile-libfuzzer-introspector-x86_64": * scan_set_tidrange. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*scan_getnextslot_tidrange) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ScanDirection direction, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Parallel table scan related functions. Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Estimate the size of shared memory needed for a parallel scan of this Step #6 - "compile-libfuzzer-introspector-x86_64": * relation. The snapshot does not need to be accounted for. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size (*parallelscan_estimate) (Relation rel); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Initialize ParallelTableScanDesc for a parallel scan of this relation. Step #6 - "compile-libfuzzer-introspector-x86_64": * `pscan` will be sized according to parallelscan_estimate() for the same Step #6 - "compile-libfuzzer-introspector-x86_64": * relation. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size (*parallelscan_initialize) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelTableScanDesc pscan); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Reinitialize `pscan` for a new scan. `rel` will be the same relation as Step #6 - "compile-libfuzzer-introspector-x86_64": * when `pscan` was initialized by parallelscan_initialize. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*parallelscan_reinitialize) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelTableScanDesc pscan); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Index Scan Callbacks Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Prepare to fetch tuples from the relation, as needed when fetching Step #6 - "compile-libfuzzer-introspector-x86_64": * tuples for an index scan. The callback has to return an Step #6 - "compile-libfuzzer-introspector-x86_64": * IndexFetchTableData, which the AM will typically embed in a larger Step #6 - "compile-libfuzzer-introspector-x86_64": * structure with additional information. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Tuples for an index scan can then be fetched via index_fetch_tuple. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct IndexFetchTableData *(*index_fetch_begin) (Relation rel); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Reset index fetch. Typically this will release cross index fetch Step #6 - "compile-libfuzzer-introspector-x86_64": * resources held in IndexFetchTableData. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*index_fetch_reset) (struct IndexFetchTableData *data); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Release resources and deallocate index fetch. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*index_fetch_end) (struct IndexFetchTableData *data); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Fetch tuple at `tid` into `slot`, after doing a visibility test Step #6 - "compile-libfuzzer-introspector-x86_64": * according to `snapshot`. If a tuple was found and passed the visibility Step #6 - "compile-libfuzzer-introspector-x86_64": * test, return true, false otherwise. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Note that AMs that do not necessarily update indexes when indexed Step #6 - "compile-libfuzzer-introspector-x86_64": * columns do not change, need to return the current/correct version of Step #6 - "compile-libfuzzer-introspector-x86_64": * the tuple that is visible to the snapshot, even if the tid points to an Step #6 - "compile-libfuzzer-introspector-x86_64": * older version of the tuple. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * *call_again is false on the first call to index_fetch_tuple for a tid. Step #6 - "compile-libfuzzer-introspector-x86_64": * If there potentially is another tuple matching the tid, *call_again Step #6 - "compile-libfuzzer-introspector-x86_64": * needs to be set to true by index_fetch_tuple, signaling to the caller Step #6 - "compile-libfuzzer-introspector-x86_64": * that index_fetch_tuple should be called again for the same tid. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * *all_dead, if all_dead is not NULL, should be set to true by Step #6 - "compile-libfuzzer-introspector-x86_64": * index_fetch_tuple iff it is guaranteed that no backend needs to see Step #6 - "compile-libfuzzer-introspector-x86_64": * that tuple. Index AMs can use that to avoid returning that tid in Step #6 - "compile-libfuzzer-introspector-x86_64": * future searches. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*index_fetch_tuple) (struct IndexFetchTableData *scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer tid, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot snapshot, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot, Step #6 - "compile-libfuzzer-introspector-x86_64": bool *call_again, bool *all_dead); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Callbacks for non-modifying operations on individual tuples Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Fetch tuple at `tid` into `slot`, after doing a visibility test Step #6 - "compile-libfuzzer-introspector-x86_64": * according to `snapshot`. If a tuple was found and passed the visibility Step #6 - "compile-libfuzzer-introspector-x86_64": * test, returns true, false otherwise. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*tuple_fetch_row_version) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer tid, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot snapshot, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Is tid valid for a scan of this relation. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*tuple_tid_valid) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer tid); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Return the latest version of the tuple at `tid`, by updating `tid` to Step #6 - "compile-libfuzzer-introspector-x86_64": * point at the newest version. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*tuple_get_latest_tid) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer tid); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Does the tuple in `slot` satisfy `snapshot`? The slot needs to be of Step #6 - "compile-libfuzzer-introspector-x86_64": * the appropriate type for the AM. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*tuple_satisfies_snapshot) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot snapshot); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_index_delete_tuples() */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId (*index_delete_tuples) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": TM_IndexDeleteOp *delstate); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Manipulations of physical tuples. Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_tuple_insert() for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*tuple_insert) (Relation rel, TupleTableSlot *slot, Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cid, int options, Step #6 - "compile-libfuzzer-introspector-x86_64": struct BulkInsertStateData *bistate); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_tuple_insert_speculative() for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*tuple_insert_speculative) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot, Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cid, Step #6 - "compile-libfuzzer-introspector-x86_64": int options, Step #6 - "compile-libfuzzer-introspector-x86_64": struct BulkInsertStateData *bistate, Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 specToken); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_tuple_complete_speculative() for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*tuple_complete_speculative) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot, Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 specToken, Step #6 - "compile-libfuzzer-introspector-x86_64": bool succeeded); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_multi_insert() for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*multi_insert) (Relation rel, TupleTableSlot **slots, int nslots, Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cid, int options, struct BulkInsertStateData *bistate); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_tuple_delete() for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_Result (*tuple_delete) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer tid, Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cid, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot snapshot, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot crosscheck, Step #6 - "compile-libfuzzer-introspector-x86_64": bool wait, Step #6 - "compile-libfuzzer-introspector-x86_64": TM_FailureData *tmfd, Step #6 - "compile-libfuzzer-introspector-x86_64": bool changingPart); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_tuple_update() for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_Result (*tuple_update) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer otid, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot, Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cid, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot snapshot, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot crosscheck, Step #6 - "compile-libfuzzer-introspector-x86_64": bool wait, Step #6 - "compile-libfuzzer-introspector-x86_64": TM_FailureData *tmfd, Step #6 - "compile-libfuzzer-introspector-x86_64": LockTupleMode *lockmode, Step #6 - "compile-libfuzzer-introspector-x86_64": TU_UpdateIndexes *update_indexes); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_tuple_lock() for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_Result (*tuple_lock) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer tid, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot snapshot, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot, Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cid, Step #6 - "compile-libfuzzer-introspector-x86_64": LockTupleMode mode, Step #6 - "compile-libfuzzer-introspector-x86_64": LockWaitPolicy wait_policy, Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags, Step #6 - "compile-libfuzzer-introspector-x86_64": TM_FailureData *tmfd); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Perform operations necessary to complete insertions made via Step #6 - "compile-libfuzzer-introspector-x86_64": * tuple_insert and multi_insert with a BulkInsertState specified. In-tree Step #6 - "compile-libfuzzer-introspector-x86_64": * access methods ceased to use this. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Typically callers of tuple_insert and multi_insert will just pass all Step #6 - "compile-libfuzzer-introspector-x86_64": * the flags that apply to them, and each AM has to decide which of them Step #6 - "compile-libfuzzer-introspector-x86_64": * make sense for it, and then only take actions in finish_bulk_insert for Step #6 - "compile-libfuzzer-introspector-x86_64": * those flags, and ignore others. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Optional callback. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*finish_bulk_insert) (Relation rel, int options); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * DDL related functionality. Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * This callback needs to create new relation storage for `rel`, with Step #6 - "compile-libfuzzer-introspector-x86_64": * appropriate durability behaviour for `persistence`. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Note that only the subset of the relcache filled by Step #6 - "compile-libfuzzer-introspector-x86_64": * RelationBuildLocalRelation() can be relied upon and that the relation's Step #6 - "compile-libfuzzer-introspector-x86_64": * catalog entries will either not yet exist (new relation), or will still Step #6 - "compile-libfuzzer-introspector-x86_64": * reference the old relfilelocator. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * As output *freezeXid, *minmulti must be set to the values appropriate Step #6 - "compile-libfuzzer-introspector-x86_64": * for pg_class.{relfrozenxid, relminmxid}. For AMs that don't need those Step #6 - "compile-libfuzzer-introspector-x86_64": * fields to be filled they can be set to InvalidTransactionId and Step #6 - "compile-libfuzzer-introspector-x86_64": * InvalidMultiXactId, respectively. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * See also table_relation_set_new_filelocator(). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*relation_set_new_filelocator) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": const RelFileLocator *newrlocator, Step #6 - "compile-libfuzzer-introspector-x86_64": char persistence, Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId *freezeXid, Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactId *minmulti); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * This callback needs to remove all contents from `rel`'s current Step #6 - "compile-libfuzzer-introspector-x86_64": * relfilelocator. No provisions for transactional behaviour need to be Step #6 - "compile-libfuzzer-introspector-x86_64": * made. Often this can be implemented by truncating the underlying Step #6 - "compile-libfuzzer-introspector-x86_64": * storage to its minimal size. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * See also table_relation_nontransactional_truncate(). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*relation_nontransactional_truncate) (Relation rel); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * See table_relation_copy_data(). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * This can typically be implemented by directly copying the underlying Step #6 - "compile-libfuzzer-introspector-x86_64": * storage, unless it contains references to the tablespace internally. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*relation_copy_data) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": const RelFileLocator *newrlocator); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* See table_relation_copy_for_cluster() */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*relation_copy_for_cluster) (Relation OldTable, Step #6 - "compile-libfuzzer-introspector-x86_64": Relation NewTable, Step #6 - "compile-libfuzzer-introspector-x86_64": Relation OldIndex, Step #6 - "compile-libfuzzer-introspector-x86_64": bool use_sort, Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId OldestXmin, Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId *xid_cutoff, Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactId *multi_cutoff, Step #6 - "compile-libfuzzer-introspector-x86_64": double *num_tuples, Step #6 - "compile-libfuzzer-introspector-x86_64": double *tups_vacuumed, Step #6 - "compile-libfuzzer-introspector-x86_64": double *tups_recently_dead); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * React to VACUUM command on the relation. The VACUUM can be triggered by Step #6 - "compile-libfuzzer-introspector-x86_64": * a user or by autovacuum. The specific actions performed by the AM will Step #6 - "compile-libfuzzer-introspector-x86_64": * depend heavily on the individual AM. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * On entry a transaction is already established, and the relation is Step #6 - "compile-libfuzzer-introspector-x86_64": * locked with a ShareUpdateExclusive lock. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Note that neither VACUUM FULL (and CLUSTER), nor ANALYZE go through Step #6 - "compile-libfuzzer-introspector-x86_64": * this routine, even if (for ANALYZE) it is part of the same VACUUM Step #6 - "compile-libfuzzer-introspector-x86_64": * command. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * There probably, in the future, needs to be a separate callback to Step #6 - "compile-libfuzzer-introspector-x86_64": * integrate with autovacuum's scheduling. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*relation_vacuum) (Relation rel, Step #6 - "compile-libfuzzer-introspector-x86_64": struct VacuumParams *params, Step #6 - "compile-libfuzzer-introspector-x86_64": BufferAccessStrategy bstrategy); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Prepare to analyze block `blockno` of `scan`. The scan has been started Step #6 - "compile-libfuzzer-introspector-x86_64": * with table_beginscan_analyze(). See also Step #6 - "compile-libfuzzer-introspector-x86_64": * table_scan_analyze_next_block(). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * The callback may acquire resources like locks that are held until Step #6 - "compile-libfuzzer-introspector-x86_64": * table_scan_analyze_next_tuple() returns false. It e.g. can make sense Step #6 - "compile-libfuzzer-introspector-x86_64": * to hold a lock until all tuples on a block have been analyzed by Step #6 - "compile-libfuzzer-introspector-x86_64": * scan_analyze_next_tuple. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * The callback can return false if the block is not suitable for Step #6 - "compile-libfuzzer-introspector-x86_64": * sampling, e.g. because it's a metapage that could never contain tuples. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * XXX: This obviously is primarily suited for block-based AMs. It's not Step #6 - "compile-libfuzzer-introspector-x86_64": * clear what a good interface for non block based AMs would be, so there Step #6 - "compile-libfuzzer-introspector-x86_64": * isn't one yet. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*scan_analyze_next_block) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": ReadStream *stream); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * See table_scan_analyze_next_tuple(). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Not every AM might have a meaningful concept of dead rows, in which Step #6 - "compile-libfuzzer-introspector-x86_64": * case it's OK to not increment *deadrows - but note that that may Step #6 - "compile-libfuzzer-introspector-x86_64": * influence autovacuum scheduling (see comment for relation_vacuum Step #6 - "compile-libfuzzer-introspector-x86_64": * callback). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*scan_analyze_next_tuple) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId OldestXmin, Step #6 - "compile-libfuzzer-introspector-x86_64": double *liverows, Step #6 - "compile-libfuzzer-introspector-x86_64": double *deadrows, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_index_build_range_scan for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": double (*index_build_range_scan) (Relation table_rel, Step #6 - "compile-libfuzzer-introspector-x86_64": Relation index_rel, Step #6 - "compile-libfuzzer-introspector-x86_64": struct IndexInfo *index_info, Step #6 - "compile-libfuzzer-introspector-x86_64": bool allow_sync, Step #6 - "compile-libfuzzer-introspector-x86_64": bool anyvisible, Step #6 - "compile-libfuzzer-introspector-x86_64": bool progress, Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber start_blockno, Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber numblocks, Step #6 - "compile-libfuzzer-introspector-x86_64": IndexBuildCallback callback, Step #6 - "compile-libfuzzer-introspector-x86_64": void *callback_state, Step #6 - "compile-libfuzzer-introspector-x86_64": TableScanDesc scan); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* see table_index_validate_scan for reference about parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*index_validate_scan) (Relation table_rel, Step #6 - "compile-libfuzzer-introspector-x86_64": Relation index_rel, Step #6 - "compile-libfuzzer-introspector-x86_64": struct IndexInfo *index_info, Step #6 - "compile-libfuzzer-introspector-x86_64": Snapshot snapshot, Step #6 - "compile-libfuzzer-introspector-x86_64": struct ValidateIndexState *state); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Miscellaneous functions. Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * See table_relation_size(). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Note that currently a few callers use the MAIN_FORKNUM size to figure Step #6 - "compile-libfuzzer-introspector-x86_64": * out the range of potentially interesting blocks (brin, analyze). It's Step #6 - "compile-libfuzzer-introspector-x86_64": * probable that we'll need to revise the interface for those at some Step #6 - "compile-libfuzzer-introspector-x86_64": * point. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 (*relation_size) (Relation rel, ForkNumber forkNumber); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * This callback should return true if the relation requires a TOAST table Step #6 - "compile-libfuzzer-introspector-x86_64": * and false if it does not. It may wish to examine the relation's tuple Step #6 - "compile-libfuzzer-introspector-x86_64": * descriptor before making a decision, but if it uses some other method Step #6 - "compile-libfuzzer-introspector-x86_64": * of storing large values (or if it does not support them) it can simply Step #6 - "compile-libfuzzer-introspector-x86_64": * return false. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*relation_needs_toast_table) (Relation rel); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * This callback should return the OID of the table AM that implements Step #6 - "compile-libfuzzer-introspector-x86_64": * TOAST tables for this AM. If the relation_needs_toast_table callback Step #6 - "compile-libfuzzer-introspector-x86_64": * always returns false, this callback is not required. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid (*relation_toast_am) (Relation rel); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * This callback is invoked when detoasting a value stored in a toast Step #6 - "compile-libfuzzer-introspector-x86_64": * table implemented by this AM. See table_relation_fetch_toast_slice() Step #6 - "compile-libfuzzer-introspector-x86_64": * for more details. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*relation_fetch_toast_slice) (Relation toastrel, Oid valueid, Step #6 - "compile-libfuzzer-introspector-x86_64": int32 attrsize, Step #6 - "compile-libfuzzer-introspector-x86_64": int32 sliceoffset, Step #6 - "compile-libfuzzer-introspector-x86_64": int32 slicelength, Step #6 - "compile-libfuzzer-introspector-x86_64": struct varlena *result); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Planner related functions. Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * See table_relation_estimate_size(). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * While block oriented, it shouldn't be too hard for an AM that doesn't Step #6 - "compile-libfuzzer-introspector-x86_64": * internally use blocks to convert into a usable representation. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * This differs from the relation_size callback by returning size Step #6 - "compile-libfuzzer-introspector-x86_64": * estimates (both relation size and tuple count) for planning purposes, Step #6 - "compile-libfuzzer-introspector-x86_64": * rather than returning a currently correct estimate. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*relation_estimate_size) (Relation rel, int32 *attr_widths, Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber *pages, double *tuples, Step #6 - "compile-libfuzzer-introspector-x86_64": double *allvisfrac); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": * Executor related functions. Step #6 - "compile-libfuzzer-introspector-x86_64": * ------------------------------------------------------------------------ Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Prepare to fetch / check / return tuples from `blockno` as part of a Step #6 - "compile-libfuzzer-introspector-x86_64": * bitmap table scan. `scan` was started via table_beginscan_bm(). Return Step #6 - "compile-libfuzzer-introspector-x86_64": * false if the bitmap is exhausted and true otherwise. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * This will typically read and pin the target block, and do the necessary Step #6 - "compile-libfuzzer-introspector-x86_64": * work to allow scan_bitmap_next_tuple() to return tuples (e.g. it might Step #6 - "compile-libfuzzer-introspector-x86_64": * make sense to perform tuple visibility checks at this time). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * `lossy_pages` and `exact_pages` are EXPLAIN counters that can be Step #6 - "compile-libfuzzer-introspector-x86_64": * incremented by the table AM to indicate whether or not the block's Step #6 - "compile-libfuzzer-introspector-x86_64": * representation in the bitmap is lossy. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * `recheck` is set by the table AM to indicate whether or not the tuples Step #6 - "compile-libfuzzer-introspector-x86_64": * from this block should be rechecked. Tuples from lossy pages will Step #6 - "compile-libfuzzer-introspector-x86_64": * always need to be rechecked, but some non-lossy pages' tuples may also Step #6 - "compile-libfuzzer-introspector-x86_64": * require recheck. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * `blockno` is the current block and is set by the table AM. The table AM Step #6 - "compile-libfuzzer-introspector-x86_64": * is responsible for advancing the main iterator, but the bitmap table Step #6 - "compile-libfuzzer-introspector-x86_64": * scan code still advances the prefetch iterator. `blockno` is used by Step #6 - "compile-libfuzzer-introspector-x86_64": * bitmap table scan code to validate that the prefetch block stays ahead Step #6 - "compile-libfuzzer-introspector-x86_64": * of the current block. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * XXX: Currently this may only be implemented if the AM uses md.c as its Step #6 - "compile-libfuzzer-introspector-x86_64": * storage manager, and uses ItemPointer->ip_blkid in a manner that maps Step #6 - "compile-libfuzzer-introspector-x86_64": * blockids directly to the underlying storage. nodeBitmapHeapscan.c Step #6 - "compile-libfuzzer-introspector-x86_64": * performs prefetching directly using that interface. This probably Step #6 - "compile-libfuzzer-introspector-x86_64": * needs to be rectified at a later point. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * XXX: Currently this may only be implemented if the AM uses the Step #6 - "compile-libfuzzer-introspector-x86_64": * visibilitymap, as nodeBitmapHeapscan.c unconditionally accesses it to Step #6 - "compile-libfuzzer-introspector-x86_64": * perform prefetching. This probably needs to be rectified at a later Step #6 - "compile-libfuzzer-introspector-x86_64": * point. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Optional callback, but either both scan_bitmap_next_block and Step #6 - "compile-libfuzzer-introspector-x86_64": * scan_bitmap_next_tuple need to exist, or neither. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*scan_bitmap_next_block) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber *blockno, Step #6 - "compile-libfuzzer-introspector-x86_64": bool *recheck, Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 *lossy_pages, Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 *exact_pages); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Fetch the next tuple of a bitmap table scan into `slot` and return true Step #6 - "compile-libfuzzer-introspector-x86_64": * if a visible tuple was found, false otherwise. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Optional callback, but either both scan_bitmap_next_block and Step #6 - "compile-libfuzzer-introspector-x86_64": * scan_bitmap_next_tuple need to exist, or neither. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*scan_bitmap_next_tuple) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Prepare to fetch tuples from the next block in a sample scan. Return Step #6 - "compile-libfuzzer-introspector-x86_64": * false if the sample scan is finished, true otherwise. `scan` was Step #6 - "compile-libfuzzer-introspector-x86_64": * started via table_beginscan_sampling(). Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Typically this will first determine the target block by calling the Step #6 - "compile-libfuzzer-introspector-x86_64": * TsmRoutine's NextSampleBlock() callback if not NULL, or alternatively Step #6 - "compile-libfuzzer-introspector-x86_64": * perform a sequential scan over all blocks. The determined block is Step #6 - "compile-libfuzzer-introspector-x86_64": * then typically read and pinned. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * As the TsmRoutine interface is block based, a block needs to be passed Step #6 - "compile-libfuzzer-introspector-x86_64": * to NextSampleBlock(). If that's not appropriate for an AM, it Step #6 - "compile-libfuzzer-introspector-x86_64": * internally needs to perform mapping between the internal and a block Step #6 - "compile-libfuzzer-introspector-x86_64": * based representation. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Note that it's not acceptable to hold deadlock prone resources such as Step #6 - "compile-libfuzzer-introspector-x86_64": * lwlocks until scan_sample_next_tuple() has exhausted the tuples on the Step #6 - "compile-libfuzzer-introspector-x86_64": * block - the tuple is likely to be returned to an upper query node, and Step #6 - "compile-libfuzzer-introspector-x86_64": * the next call could be off a long while. Holding buffer pins and such Step #6 - "compile-libfuzzer-introspector-x86_64": * is obviously OK. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Currently it is required to implement this interface, as there's no Step #6 - "compile-libfuzzer-introspector-x86_64": * alternative way (contrary e.g. to bitmap scans) to implement sample Step #6 - "compile-libfuzzer-introspector-x86_64": * scans. If infeasible to implement, the AM may raise an error. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*scan_sample_next_block) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": struct SampleScanState *scanstate); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * This callback, only called after scan_sample_next_block has returned Step #6 - "compile-libfuzzer-introspector-x86_64": * true, should determine the next tuple to be returned from the selected Step #6 - "compile-libfuzzer-introspector-x86_64": * block using the TsmRoutine's NextSampleTuple() callback. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * The callback needs to perform visibility checks, and only return Step #6 - "compile-libfuzzer-introspector-x86_64": * visible tuples. That obviously can mean calling NextSampleTuple() Step #6 - "compile-libfuzzer-introspector-x86_64": * multiple times. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * The TsmRoutine interface assumes that there's a maximum offset on a Step #6 - "compile-libfuzzer-introspector-x86_64": * given page, so if that doesn't apply to an AM, it needs to emulate that Step #6 - "compile-libfuzzer-introspector-x86_64": * assumption somehow. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*scan_sample_next_tuple) (TableScanDesc scan, Step #6 - "compile-libfuzzer-introspector-x86_64": struct SampleScanState *scanstate, Step #6 - "compile-libfuzzer-introspector-x86_64": TupleTableSlot *slot); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": } TableAmRoutine; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TM_IndexStatus Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber idxoffnum; /* Index am page offset number */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool knowndeletable; /* Currently known to be deletable? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Bottom-up index deletion specific fields follow */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool promising; /* Promising (duplicate) index tuple? */ Step #6 - "compile-libfuzzer-introspector-x86_64": int16 freespace; /* Space freed in index if deleted */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TM_IndexStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TM_FailureData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData ctid; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xmax; Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cmax; Step #6 - "compile-libfuzzer-introspector-x86_64": bool traversed; Step #6 - "compile-libfuzzer-introspector-x86_64": } TM_FailureData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum TM_Result Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Signals that the action succeeded (i.e. update/delete performed, lock Step #6 - "compile-libfuzzer-introspector-x86_64": * was acquired) Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_Ok, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* The affected tuple wasn't visible to the relevant snapshot */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_Invisible, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* The affected tuple was already modified by the calling backend */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_SelfModified, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The affected tuple was updated by another transaction. This includes Step #6 - "compile-libfuzzer-introspector-x86_64": * the case where tuple was moved to another partition. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_Updated, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* The affected tuple was deleted by another transaction */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_Deleted, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The affected tuple is currently being modified by another session. This Step #6 - "compile-libfuzzer-introspector-x86_64": * will only be returned if table_(update/delete/lock_tuple) are Step #6 - "compile-libfuzzer-introspector-x86_64": * instructed not to wait. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_BeingModified, Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* lock couldn't be acquired, action skipped. Only used by lock_tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": TM_WouldBlock, Step #6 - "compile-libfuzzer-introspector-x86_64": } TM_Result; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*IndexBuildCallback) (Relation index, Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointer tid, Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *values, Step #6 - "compile-libfuzzer-introspector-x86_64": bool *isnull, Step #6 - "compile-libfuzzer-introspector-x86_64": bool tupleIsAlive, Step #6 - "compile-libfuzzer-introspector-x86_64": void *state); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.196 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/reloptions.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum relopt_type Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_TYPE_BOOL, Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_TYPE_INT, Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_TYPE_REAL, Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_TYPE_ENUM, Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_TYPE_STRING, Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_type; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct relopt_value Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_gen *gen; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isset; Step #6 - "compile-libfuzzer-introspector-x86_64": union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool bool_val; Step #6 - "compile-libfuzzer-introspector-x86_64": int int_val; Step #6 - "compile-libfuzzer-introspector-x86_64": double real_val; Step #6 - "compile-libfuzzer-introspector-x86_64": int enum_val; Step #6 - "compile-libfuzzer-introspector-x86_64": char *string_val; /* allocated separately */ Step #6 - "compile-libfuzzer-introspector-x86_64": } values; Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_value; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct relopt_bool Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_gen gen; Step #6 - "compile-libfuzzer-introspector-x86_64": bool default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_bool; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct relopt_enum_elt_def Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *string_val; Step #6 - "compile-libfuzzer-introspector-x86_64": int symbol_val; Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_enum_elt_def; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct relopt_enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_gen gen; Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_enum_elt_def *members; Step #6 - "compile-libfuzzer-introspector-x86_64": int default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": const char *detailmsg; Step #6 - "compile-libfuzzer-introspector-x86_64": /* null-terminated array of members */ Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_enum; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*relopts_validator) (void *parsed_options, relopt_value *vals, int nvals); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct relopt_string Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_gen gen; Step #6 - "compile-libfuzzer-introspector-x86_64": int default_len; Step #6 - "compile-libfuzzer-introspector-x86_64": bool default_isnull; Step #6 - "compile-libfuzzer-introspector-x86_64": validate_string_relopt validate_cb; Step #6 - "compile-libfuzzer-introspector-x86_64": fill_string_relopt fill_cb; Step #6 - "compile-libfuzzer-introspector-x86_64": char *default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_string; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct local_relopt Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_gen *option; /* option definition */ Step #6 - "compile-libfuzzer-introspector-x86_64": int offset; /* offset of parsed value in bytea structure */ Step #6 - "compile-libfuzzer-introspector-x86_64": } local_relopt; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct relopt_int Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_gen gen; Step #6 - "compile-libfuzzer-introspector-x86_64": int default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": int min; Step #6 - "compile-libfuzzer-introspector-x86_64": int max; Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_int; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum relopt_kind Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_LOCAL = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_HEAP = (1 << 0), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_TOAST = (1 << 1), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_BTREE = (1 << 2), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_HASH = (1 << 3), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_GIN = (1 << 4), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_GIST = (1 << 5), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_ATTRIBUTE = (1 << 6), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_TABLESPACE = (1 << 7), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_SPGIST = (1 << 8), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_VIEW = (1 << 9), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_BRIN = (1 << 10), Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_PARTITIONED = (1 << 11), Step #6 - "compile-libfuzzer-introspector-x86_64": /* if you add a new kind, make sure you update "last_default" too */ Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_LAST_DEFAULT = RELOPT_KIND_PARTITIONED, Step #6 - "compile-libfuzzer-introspector-x86_64": /* some compilers treat enums as signed ints, so we can't use 1 << 31 */ Step #6 - "compile-libfuzzer-introspector-x86_64": RELOPT_KIND_MAX = (1 << 30) Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_kind; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct relopt_gen Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *name; /* must be first (used as list termination Step #6 - "compile-libfuzzer-introspector-x86_64": * marker) */ Step #6 - "compile-libfuzzer-introspector-x86_64": const char *desc; Step #6 - "compile-libfuzzer-introspector-x86_64": bits32 kinds; Step #6 - "compile-libfuzzer-introspector-x86_64": LOCKMODE lockmode; Step #6 - "compile-libfuzzer-introspector-x86_64": int namelen; Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_type type; Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_gen; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct relopt_real Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_gen gen; Step #6 - "compile-libfuzzer-introspector-x86_64": double default_val; Step #6 - "compile-libfuzzer-introspector-x86_64": double min; Step #6 - "compile-libfuzzer-introspector-x86_64": double max; Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_real; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*validate_string_relopt) (const char *value); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef Size (*fill_string_relopt) (const char *value, void *ptr); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": const char *optname; /* option's name */ Step #6 - "compile-libfuzzer-introspector-x86_64": relopt_type opttype; /* option's datatype */ Step #6 - "compile-libfuzzer-introspector-x86_64": int offset; /* offset of field in result struct */ Step #6 - "compile-libfuzzer-introspector-x86_64": } relopt_parse_elt; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct local_relopts Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": List *options; /* list of local_relopt definitions */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *validators; /* list of relopts_validator callbacks */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size relopt_struct_size; /* size of parsed bytea structure */ Step #6 - "compile-libfuzzer-introspector-x86_64": } local_relopts; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.202 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/heapam_xlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_truncate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid dbId; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 nrelids; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": Oid relids[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_truncate; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_multi_insert Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntuples; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_multi_insert; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_prune Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 reason; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If XLHP_HAS_CONFLICT_HORIZON is set, the conflict horizon XID follows, Step #6 - "compile-libfuzzer-introspector-x86_64": * unaligned Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_prune; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xlhp_freeze_plans Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nplans; Step #6 - "compile-libfuzzer-introspector-x86_64": xlhp_freeze_plan plans[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xlhp_freeze_plans; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xlhp_prune_items Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntargets; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber data[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xlhp_prune_items; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_lock Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xmax; /* might be a MultiXactId */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; /* locked tuple's offset on page */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 infobits_set; /* infomask and infomask2 bits to set */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; /* XLH_LOCK_* flag bits */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_lock; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_inplace Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; /* updated tuple's offset on page */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid dbId; /* MyDatabaseId */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid tsId; /* MyDatabaseTableSpace */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool relcacheInitFileInval; /* invalidate relcache init files */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nmsgs; /* number of shared inval msgs */ Step #6 - "compile-libfuzzer-introspector-x86_64": SharedInvalidationMessage msgs[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_inplace; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_visible Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId snapshotConflictHorizon; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_visible; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_multi_insert_tuple Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 datalen; /* size of tuple data that follows */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_infomask2; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_infomask; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 t_hoff; Step #6 - "compile-libfuzzer-introspector-x86_64": /* TUPLE DATA FOLLOWS AT END OF STRUCT */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_multi_insert_tuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_new_cid Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * store toplevel xid so we don't have to merge cids from different Step #6 - "compile-libfuzzer-introspector-x86_64": * transactions Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId top_xid; Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cmin; Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId cmax; Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId combocid; /* just for debugging */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Store the relfilelocator/ctid pair to facilitate lookups. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator target_locator; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData target_tid; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_new_cid; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_delete Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xmax; /* xmax of the deleted tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; /* deleted tuple's offset */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 infobits_set; /* infomask bits */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_delete; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_header Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_infomask2; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_infomask; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 t_hoff; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_header; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_insert Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; /* inserted tuple's offset */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* xl_heap_header & TUPLE DATA in backup block 0 */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_insert; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_update Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId old_xmax; /* xmax of the old tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber old_offnum; /* old tuple's offset */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 old_infobits_set; /* infomask bits to set on old tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId new_xmax; /* xmax of the new tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber new_offnum; /* new tuple's offset */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If XLH_UPDATE_CONTAINS_OLD_TUPLE or XLH_UPDATE_CONTAINS_OLD_KEY flags Step #6 - "compile-libfuzzer-introspector-x86_64": * are set, xl_heap_header and tuple data for the old tuple follow. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_update; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xlhp_freeze_plan Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xmax; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_infomask2; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_infomask; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 frzflags; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Length of individual page offset numbers array for this plan */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntuples; Step #6 - "compile-libfuzzer-introspector-x86_64": } xlhp_freeze_plan; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_lock_updated Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xmax; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 infobits_set; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 flags; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_lock_updated; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_confirm Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; /* confirmed tuple's offset on page */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_confirm; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_heap_rewrite_mapping Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId mapped_xid; /* xid that might need to see the row */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid mapped_db; /* DbOid or InvalidOid for shared rels */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid mapped_rel; /* Oid of the mapped relation */ Step #6 - "compile-libfuzzer-introspector-x86_64": off_t offset; /* How far have we written so far */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 num_mappings; /* Number of in-memory mappings */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr start_lsn; /* Insert LSN at begin of rewrite */ Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_heap_rewrite_mapping; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.207 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogprefetcher.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_PREFETCH_OFF, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_PREFETCH_ON, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_PREFETCH_TRY, Step #6 - "compile-libfuzzer-introspector-x86_64": } RecoveryPrefetchValue; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogPrefetcher XLogPrefetcher; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.211 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/valid.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.214 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/timeline.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID tli; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr begin; /* inclusive */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr end; /* exclusive, InvalidXLogRecPtr means infinity */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TimeLineHistoryEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.217 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/printsimple.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.221 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/spgist.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgConfigIn Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid attType; /* Data type to be indexed */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgConfigIn; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgChooseIn Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Datum datum; /* original datum to be indexed */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum leafDatum; /* current datum to be stored at leaf */ Step #6 - "compile-libfuzzer-introspector-x86_64": int level; /* current level (counting from zero) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Data from current inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool allTheSame; /* tuple is marked all-the-same? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hasPrefix; /* tuple has a prefix? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum prefixDatum; /* if so, the prefix value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nNodes; /* number of nodes in the inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *nodeLabels; /* node label values (NULL if none) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgChooseIn; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgPickSplitIn Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nTuples; /* number of leaf tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *datums; /* their datums (array of length nTuples) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int level; /* current level (counting from zero) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgPickSplitIn; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgInnerConsistentIn Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey scankeys; /* array of operators and comparison values */ Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey orderbys; /* array of ordering operators and comparison Step #6 - "compile-libfuzzer-introspector-x86_64": * values */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nkeys; /* length of scankeys array */ Step #6 - "compile-libfuzzer-introspector-x86_64": int norderbys; /* length of orderbys array */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Datum reconstructedValue; /* value reconstructed at parent */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *traversalValue; /* opclass-specific traverse value */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext traversalMemoryContext; /* put new traverse values here */ Step #6 - "compile-libfuzzer-introspector-x86_64": int level; /* current level (counting from zero) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool returnData; /* original data must be returned? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Data from current inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool allTheSame; /* tuple is marked all-the-same? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hasPrefix; /* tuple has a prefix? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum prefixDatum; /* if so, the prefix value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nNodes; /* number of nodes in the inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *nodeLabels; /* node label values (NULL if none) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgInnerConsistentIn; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgInnerConsistentOut Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nNodes; /* number of child nodes to be visited */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *nodeNumbers; /* their indexes in the node array */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *levelAdds; /* increment level by this much for each */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *reconstructedValues; /* associated reconstructed values */ Step #6 - "compile-libfuzzer-introspector-x86_64": void **traversalValues; /* opclass-specific traverse values */ Step #6 - "compile-libfuzzer-introspector-x86_64": double **distances; /* associated distances */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgInnerConsistentOut; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgConfigOut Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid prefixType; /* Data type of inner-tuple prefixes */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid labelType; /* Data type of inner-tuple node labels */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid leafType; /* Data type of leaf-tuple values */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool canReturnData; /* Opclass can reconstruct original data */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool longValuesOK; /* Opclass can cope with values > 1 page */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgConfigOut; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum spgChooseResultType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": spgMatchNode = 1, /* descend into existing node */ Step #6 - "compile-libfuzzer-introspector-x86_64": spgAddNode, /* add a node to the inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": spgSplitTuple, /* split inner tuple (change its prefix) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgChooseResultType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgChooseOut Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": spgChooseResultType resultType; /* action code, see above */ Step #6 - "compile-libfuzzer-introspector-x86_64": union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": struct /* results for spgMatchNode */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int nodeN; /* descend to this node (index from 0) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int levelAdd; /* increment level by this much */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum restDatum; /* new leaf datum */ Step #6 - "compile-libfuzzer-introspector-x86_64": } matchNode; Step #6 - "compile-libfuzzer-introspector-x86_64": struct /* results for spgAddNode */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Datum nodeLabel; /* new node's label */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nodeN; /* where to insert it (index from 0) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } addNode; Step #6 - "compile-libfuzzer-introspector-x86_64": struct /* results for spgSplitTuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Info to form new upper-level inner tuple with one child tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool prefixHasPrefix; /* tuple should have a prefix? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum prefixPrefixDatum; /* if so, its value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int prefixNNodes; /* number of nodes */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *prefixNodeLabels; /* their labels (or NULL for no Step #6 - "compile-libfuzzer-introspector-x86_64": * labels) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int childNodeN; /* which node gets child tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Info to form new lower-level inner tuple with all old nodes */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool postfixHasPrefix; /* tuple should have a prefix? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum postfixPrefixDatum; /* if so, its value */ Step #6 - "compile-libfuzzer-introspector-x86_64": } splitTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": } result; Step #6 - "compile-libfuzzer-introspector-x86_64": } spgChooseOut; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgPickSplitOut Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool hasPrefix; /* new inner tuple should have a prefix? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum prefixDatum; /* if so, its value */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int nNodes; /* number of nodes for new inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *nodeLabels; /* their labels (or NULL for no labels) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int *mapTuplesToNodes; /* node index for each leaf tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *leafTupleDatums; /* datum to store in each new leaf tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgPickSplitOut; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgLeafConsistentIn Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey scankeys; /* array of operators and comparison values */ Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey orderbys; /* array of ordering operators and comparison Step #6 - "compile-libfuzzer-introspector-x86_64": * values */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nkeys; /* length of scankeys array */ Step #6 - "compile-libfuzzer-introspector-x86_64": int norderbys; /* length of orderbys array */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Datum reconstructedValue; /* value reconstructed at parent */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *traversalValue; /* opclass-specific traverse value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int level; /* current level (counting from zero) */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool returnData; /* original data must be returned? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Datum leafDatum; /* datum in leaf tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgLeafConsistentIn; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct spgLeafConsistentOut Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Datum leafValue; /* reconstructed original data, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheck; /* set true if operator must be rechecked */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheckDistances; /* set true if distances must be rechecked */ Step #6 - "compile-libfuzzer-introspector-x86_64": double *distances; /* associated distances */ Step #6 - "compile-libfuzzer-introspector-x86_64": } spgLeafConsistentOut; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.226 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/twophase.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GlobalTransactionData *GlobalTransaction; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.230 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/hio.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BulkInsertStateData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BufferAccessStrategy strategy; /* our BULKWRITE strategy object */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer current_buf; /* current insertion target page */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * State for bulk extensions. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * last_free..next_free are further pages that were unused at the time of Step #6 - "compile-libfuzzer-introspector-x86_64": * the last extension. They might be in use by the time we use them Step #6 - "compile-libfuzzer-introspector-x86_64": * though, so rechecks are needed. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * XXX: Eventually these should probably live in RelationData instead, Step #6 - "compile-libfuzzer-introspector-x86_64": * alongside targetblock. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * already_extended_by is the number of pages that this bulk inserted Step #6 - "compile-libfuzzer-introspector-x86_64": * extended by. If we already extended by a significant number of pages, Step #6 - "compile-libfuzzer-introspector-x86_64": * we can be more aggressive about extending going forward. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber next_free; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber last_free; Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 already_extended_by; Step #6 - "compile-libfuzzer-introspector-x86_64": } BulkInsertStateData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.234 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/heapam.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BulkInsertStateData *BulkInsertState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BitmapHeapScanDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": HeapScanDescData rs_heap_base; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are only used for bitmap scans for the "skip fetch" Step #6 - "compile-libfuzzer-introspector-x86_64": * optimization. Bitmap scans needing no fields from the heap may skip Step #6 - "compile-libfuzzer-introspector-x86_64": * fetching an all visible block, instead using the number of tuples per Step #6 - "compile-libfuzzer-introspector-x86_64": * block reported by the bitmap to determine how many NULL-filled tuples Step #6 - "compile-libfuzzer-introspector-x86_64": * to return. They are common to parallel and serial BitmapHeapScans Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* page of VM containing info for current block */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer rs_vmbuffer; Step #6 - "compile-libfuzzer-introspector-x86_64": int rs_empty_tuples_pending; Step #6 - "compile-libfuzzer-introspector-x86_64": } BitmapHeapScanDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HeapScanDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TableScanDescData rs_base; /* AM independent part of the descriptor */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* state set up at initscan time */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rs_nblocks; /* total number of blocks in rel */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rs_startblock; /* block # to start at */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rs_numblocks; /* max number of blocks to scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* rs_numblocks is usually InvalidBlockNumber, meaning "scan whole rel" */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* scan current state */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool rs_inited; /* false = scan not init'd yet */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber rs_coffset; /* current offset # in non-page-at-a-time mode */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rs_cblock; /* current block # in scan, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer rs_cbuf; /* current buffer in scan, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* NB: if rs_cbuf is not InvalidBuffer, we hold a pin on that buffer */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": BufferAccessStrategy rs_strategy; /* access strategy for reads */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": HeapTupleData rs_ctup; /* current tuple in scan, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* For scans that stream reads */ Step #6 - "compile-libfuzzer-introspector-x86_64": ReadStream *rs_read_stream; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * For sequential scans and TID range scans to stream reads. The read Step #6 - "compile-libfuzzer-introspector-x86_64": * stream is allocated at the beginning of the scan and reset on rescan or Step #6 - "compile-libfuzzer-introspector-x86_64": * when the scan direction changes. The scan direction is saved each time Step #6 - "compile-libfuzzer-introspector-x86_64": * a new page is requested. If the scan direction changes from one page to Step #6 - "compile-libfuzzer-introspector-x86_64": * the next, the read stream releases all previously pinned buffers and Step #6 - "compile-libfuzzer-introspector-x86_64": * resets the prefetch block. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": ScanDirection rs_dir; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rs_prefetch_block; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * For parallel scans to store page allocation data. NULL when not Step #6 - "compile-libfuzzer-introspector-x86_64": * performing a parallel scan. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelBlockTableScanWorkerData *rs_parallelworkerdata; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* these fields only used in page-at-a-time mode and for bitmap scans */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 rs_cindex; /* current tuple's index in vistuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 rs_ntuples; /* number of visible tuples on page */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber rs_vistuples[MaxHeapTuplesPerPage]; /* their offsets */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HeapScanDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": HEAPTUPLE_DEAD, /* tuple is dead and deletable */ Step #6 - "compile-libfuzzer-introspector-x86_64": HEAPTUPLE_LIVE, /* tuple is live (committed, no deleter) */ Step #6 - "compile-libfuzzer-introspector-x86_64": HEAPTUPLE_RECENTLY_DEAD, /* tuple is dead, but not deletable yet */ Step #6 - "compile-libfuzzer-introspector-x86_64": HEAPTUPLE_INSERT_IN_PROGRESS, /* inserting xact is still in progress */ Step #6 - "compile-libfuzzer-introspector-x86_64": HEAPTUPLE_DELETE_IN_PROGRESS, /* deleting xact is still in progress */ Step #6 - "compile-libfuzzer-introspector-x86_64": } HTSV_Result; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HeapPageFreeze Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Is heap_prepare_freeze_tuple caller required to freeze page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool freeze_required; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * "Freeze" NewRelfrozenXid/NewRelminMxid trackers. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Trackers used when heap_freeze_execute_prepared freezes, or when there Step #6 - "compile-libfuzzer-introspector-x86_64": * are zero freeze plans for a page. It is always valid for vacuumlazy.c Step #6 - "compile-libfuzzer-introspector-x86_64": * to freeze any page, by definition. This even includes pages that have Step #6 - "compile-libfuzzer-introspector-x86_64": * no tuples with storage to consider in the first place. That way the Step #6 - "compile-libfuzzer-introspector-x86_64": * 'totally_frozen' results from heap_prepare_freeze_tuple can always be Step #6 - "compile-libfuzzer-introspector-x86_64": * used in the same way, even when no freeze plans need to be executed to Step #6 - "compile-libfuzzer-introspector-x86_64": * "freeze the page". Only the "freeze" path needs to consider the need Step #6 - "compile-libfuzzer-introspector-x86_64": * to set pages all-frozen in the visibility map under this scheme. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * When we freeze a page, we generally freeze all XIDs < OldestXmin, only Step #6 - "compile-libfuzzer-introspector-x86_64": * leaving behind XIDs that are ineligible for freezing, if any. And so Step #6 - "compile-libfuzzer-introspector-x86_64": * you might wonder why these trackers are necessary at all; why should Step #6 - "compile-libfuzzer-introspector-x86_64": * _any_ page that VACUUM freezes _ever_ be left with XIDs/MXIDs that Step #6 - "compile-libfuzzer-introspector-x86_64": * ratchet back the top-level NewRelfrozenXid/NewRelminMxid trackers? Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * It is useful to use a definition of "freeze the page" that does not Step #6 - "compile-libfuzzer-introspector-x86_64": * overspecify how MultiXacts are affected. heap_prepare_freeze_tuple Step #6 - "compile-libfuzzer-introspector-x86_64": * generally prefers to remove Multis eagerly, but lazy processing is used Step #6 - "compile-libfuzzer-introspector-x86_64": * in cases where laziness allows VACUUM to avoid allocating a new Multi. Step #6 - "compile-libfuzzer-introspector-x86_64": * The "freeze the page" trackers enable this flexibility. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId FreezePageRelfrozenXid; Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactId FreezePageRelminMxid; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * "No freeze" NewRelfrozenXid/NewRelminMxid trackers. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * These trackers are maintained in the same way as the trackers used when Step #6 - "compile-libfuzzer-introspector-x86_64": * VACUUM scans a page that isn't cleanup locked. Both code paths are Step #6 - "compile-libfuzzer-introspector-x86_64": * based on the same general idea (do less work for this page during the Step #6 - "compile-libfuzzer-introspector-x86_64": * ongoing VACUUM, at the cost of having to accept older final values). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId NoFreezePageRelfrozenXid; Step #6 - "compile-libfuzzer-introspector-x86_64": MultiXactId NoFreezePageRelminMxid; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": } HeapPageFreeze; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PruneFreezeResult Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int ndeleted; /* Number of tuples deleted from the page */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nnewlpdead; /* Number of newly LP_DEAD items */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nfrozen; /* Number of tuples we froze */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Number of live and recently dead tuples on the page, after pruning */ Step #6 - "compile-libfuzzer-introspector-x86_64": int live_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": int recently_dead_tuples; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * all_visible and all_frozen indicate if the all-visible and all-frozen Step #6 - "compile-libfuzzer-introspector-x86_64": * bits in the visibility map can be set for this page, after pruning. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * vm_conflict_horizon is the newest xmin of live tuples on the page. The Step #6 - "compile-libfuzzer-introspector-x86_64": * caller can use it as the conflict horizon when setting the VM bits. It Step #6 - "compile-libfuzzer-introspector-x86_64": * is only valid if we froze some tuples (nfrozen > 0), and all_frozen is Step #6 - "compile-libfuzzer-introspector-x86_64": * true. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * These are only set if the HEAP_PRUNE_FREEZE option is set. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool all_visible; Step #6 - "compile-libfuzzer-introspector-x86_64": bool all_frozen; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId vm_conflict_horizon; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Whether or not the page makes rel truncation unsafe. This is set to Step #6 - "compile-libfuzzer-introspector-x86_64": * 'true', even if the page contains LP_DEAD items. VACUUM will remove Step #6 - "compile-libfuzzer-introspector-x86_64": * them before attempting to truncate. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool hastup; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * LP_DEAD items on the page after pruning. Includes existing LP_DEAD Step #6 - "compile-libfuzzer-introspector-x86_64": * items. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int lpdead_items; Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber deadoffsets[MaxHeapTuplesPerPage]; Step #6 - "compile-libfuzzer-introspector-x86_64": } PruneFreezeResult; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HeapScanDescData *HeapScanDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BitmapHeapScanDescData *BitmapHeapScanDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexFetchHeapData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": IndexFetchTableData xs_base; /* AM independent part of the descriptor */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Buffer xs_cbuf; /* current heap buffer in scan, if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* NB: if xs_cbuf is not InvalidBuffer, we hold a pin on that buffer */ Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexFetchHeapData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HeapTupleFreeze Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Fields describing how to process tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xmax; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_infomask2; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_infomask; Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 frzflags; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* xmin/xmax check flags */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 checkflags; Step #6 - "compile-libfuzzer-introspector-x86_64": /* Page offset number for tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offset; Step #6 - "compile-libfuzzer-introspector-x86_64": } HeapTupleFreeze; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PRUNE_ON_ACCESS, /* on-access pruning */ Step #6 - "compile-libfuzzer-introspector-x86_64": PRUNE_VACUUM_SCAN, /* VACUUM 1st heap pass */ Step #6 - "compile-libfuzzer-introspector-x86_64": PRUNE_VACUUM_CLEANUP, /* VACUUM 2nd heap pass */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PruneReason; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.240 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/ginxlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 flags; /* GIN_INSERT_ISLEAF and/or GIN_INSERT_ISDATA */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * FOLLOWS: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 1. if not leaf page, block numbers of the left and right child pages Step #6 - "compile-libfuzzer-introspector-x86_64": * whose split this insertion finishes, as BlockIdData[2] (beware of Step #6 - "compile-libfuzzer-introspector-x86_64": * adding fields in this struct that would make them not 16-bit aligned) Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 2. a ginxlogInsertEntry or ginxlogRecompressDataLeaf struct, depending Step #6 - "compile-libfuzzer-introspector-x86_64": * on tree type. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * NB: the below structs are only 16-bit aligned when appended to a Step #6 - "compile-libfuzzer-introspector-x86_64": * ginxlogInsert struct! Beware of adding fields to them that require Step #6 - "compile-libfuzzer-introspector-x86_64": * stricter alignment. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogInsert; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nactions; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Variable number of 'actions' follow */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogRecompressDataLeaf; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ginxlogUpdateMeta Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator locator; Step #6 - "compile-libfuzzer-introspector-x86_64": GinMetaPageData metadata; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber prevTail; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber newRightlink; Step #6 - "compile-libfuzzer-introspector-x86_64": int32 ntuples; /* if ntuples > 0 then metadata.tail was Step #6 - "compile-libfuzzer-introspector-x86_64": * updated with that many tuples; else new sub Step #6 - "compile-libfuzzer-introspector-x86_64": * list was inserted */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* array of inserted tuples follows */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogUpdateMeta; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ginxlogDeleteListPages Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": GinMetaPageData metadata; Step #6 - "compile-libfuzzer-introspector-x86_64": int32 ndeleted; Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogDeleteListPages; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offset; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isDelete; Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTupleData tuple; /* variable length */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogInsertEntry; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offset; Step #6 - "compile-libfuzzer-introspector-x86_64": PostingItem newitem; Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogInsertDataInternal; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ginxlogSplit Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator locator; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rrlink; /* right link, or root's blocknumber if root Step #6 - "compile-libfuzzer-introspector-x86_64": * split */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber leftChildBlkno; /* valid on a non-leaf split */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rightChildBlkno; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 flags; /* see below */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogSplit; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ginxlogVacuumDataLeafPage Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ginxlogRecompressDataLeaf data; Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogVacuumDataLeafPage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ginxlogDeletePage Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber parentOffset; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rightLink; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId deleteXid; /* last Xid which could see this page in scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogDeletePage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ginxlogInsertListPage Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber rightlink; Step #6 - "compile-libfuzzer-introspector-x86_64": int32 ntuples; Step #6 - "compile-libfuzzer-introspector-x86_64": /* array of inserted tuples follows */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogInsertListPage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ginxlogCreatePostingTree Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 size; Step #6 - "compile-libfuzzer-introspector-x86_64": /* A compressed posting list follows */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogCreatePostingTree; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 segno; /* segment this action applies to */ Step #6 - "compile-libfuzzer-introspector-x86_64": char type; /* action type (see below) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Action-specific data follows. For INSERT and REPLACE actions that is a Step #6 - "compile-libfuzzer-introspector-x86_64": * GinPostingList struct. For ADDITEMS, a uint16 for the number of items Step #6 - "compile-libfuzzer-introspector-x86_64": * added, followed by the items themselves as ItemPointers. DELETE actions Step #6 - "compile-libfuzzer-introspector-x86_64": * have no further data. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ginxlogSegmentAction; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.244 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/brin_tuple.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*brin_serialize_callback_type) (BrinDesc *bdesc, Datum src, Datum *dst); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinValues Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": AttrNumber bv_attno; /* index attribute number */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool bv_hasnulls; /* are there any nulls in the page range? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool bv_allnulls; /* are all values nulls in the page range? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *bv_values; /* current accumulated values */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum bv_mem_value; /* expanded accumulated values */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext bv_context; Step #6 - "compile-libfuzzer-introspector-x86_64": brin_serialize_callback_type bv_serialize; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinValues; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinMemTuple Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": bool bt_placeholder; /* this is a placeholder tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool bt_empty_range; /* range represents no tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber bt_blkno; /* heap blkno that the tuple is for */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext bt_context; /* memcxt holding the bt_columns values */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* output arrays for brin_deform_tuple: */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *bt_values; /* values array */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *bt_allnulls; /* allnulls array */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *bt_hasnulls; /* hasnulls array */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* not an output array, but must be last */ Step #6 - "compile-libfuzzer-introspector-x86_64": BrinValues bt_columns[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinMemTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinTuple Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* heap block number that the tuple is for */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber bt_blkno; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* --------------- Step #6 - "compile-libfuzzer-introspector-x86_64": * bt_info is laid out in the following fashion: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * 7th (high) bit: has nulls Step #6 - "compile-libfuzzer-introspector-x86_64": * 6th bit: is placeholder tuple Step #6 - "compile-libfuzzer-introspector-x86_64": * 5th bit: range is empty Step #6 - "compile-libfuzzer-introspector-x86_64": * 4-0 bit: offset of data Step #6 - "compile-libfuzzer-introspector-x86_64": * --------------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint8 bt_info; Step #6 - "compile-libfuzzer-introspector-x86_64": } BrinTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.248 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/toast_internals.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct toast_compress_header Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 vl_len_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 tcinfo; /* 2 bits for compression method and 30 bits Step #6 - "compile-libfuzzer-introspector-x86_64": * external size; see va_extinfo */ Step #6 - "compile-libfuzzer-introspector-x86_64": } toast_compress_header; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.252 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ArchiveMode Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ARCHIVE_MODE_OFF = 0, /* disabled */ Step #6 - "compile-libfuzzer-introspector-x86_64": ARCHIVE_MODE_ON, /* enabled while server is running normally */ Step #6 - "compile-libfuzzer-introspector-x86_64": ARCHIVE_MODE_ALWAYS, /* enabled always (even during recovery) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ArchiveMode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum WalCompression Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": WAL_COMPRESSION_NONE = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": WAL_COMPRESSION_PGLZ, Step #6 - "compile-libfuzzer-introspector-x86_64": WAL_COMPRESSION_LZ4, Step #6 - "compile-libfuzzer-introspector-x86_64": WAL_COMPRESSION_ZSTD, Step #6 - "compile-libfuzzer-introspector-x86_64": } WalCompression; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum RecoveryState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_STATE_CRASH = 0, /* crash recovery */ Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_STATE_ARCHIVE, /* archive recovery */ Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_STATE_DONE, /* currently in production */ Step #6 - "compile-libfuzzer-introspector-x86_64": } RecoveryState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct CheckpointStatsData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz ckpt_start_t; /* start of checkpoint */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz ckpt_write_t; /* start of flushing buffers */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz ckpt_sync_t; /* start of fsyncs */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz ckpt_sync_end_t; /* end of fsyncs */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimestampTz ckpt_end_t; /* end of checkpoint */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int ckpt_bufs_written; /* # of buffers written */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ckpt_slru_written; /* # of SLRU buffers written */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int ckpt_segs_added; /* # of new xlog segments created */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ckpt_segs_removed; /* # of xlog segments deleted */ Step #6 - "compile-libfuzzer-introspector-x86_64": int ckpt_segs_recycled; /* # of xlog segments recycled */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int ckpt_sync_rels; /* # of relations synced */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 ckpt_longest_sync; /* Longest sync for one relation */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 ckpt_agg_sync_time; /* The sum of all the individual sync Step #6 - "compile-libfuzzer-introspector-x86_64": * times, which is not necessarily the Step #6 - "compile-libfuzzer-introspector-x86_64": * same as the total elapsed time for the Step #6 - "compile-libfuzzer-introspector-x86_64": * entire sync phase. */ Step #6 - "compile-libfuzzer-introspector-x86_64": } CheckpointStatsData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum WALAvailability Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": WALAVAIL_INVALID_LSN, /* parameter error */ Step #6 - "compile-libfuzzer-introspector-x86_64": WALAVAIL_RESERVED, /* WAL segment is within max_wal_size */ Step #6 - "compile-libfuzzer-introspector-x86_64": WALAVAIL_EXTENDED, /* WAL segment is reserved by a slot or Step #6 - "compile-libfuzzer-introspector-x86_64": * wal_keep_size */ Step #6 - "compile-libfuzzer-introspector-x86_64": WALAVAIL_UNRESERVED, /* no longer reserved, but not removed yet */ Step #6 - "compile-libfuzzer-introspector-x86_64": WALAVAIL_REMOVED, /* WAL segment has been removed */ Step #6 - "compile-libfuzzer-introspector-x86_64": } WALAvailability; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum SessionBackupState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SESSION_BACKUP_NONE, Step #6 - "compile-libfuzzer-introspector-x86_64": SESSION_BACKUP_RUNNING, Step #6 - "compile-libfuzzer-introspector-x86_64": } SessionBackupState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum WalLevel Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": WAL_LEVEL_MINIMAL = 0, Step #6 - "compile-libfuzzer-introspector-x86_64": WAL_LEVEL_REPLICA, Step #6 - "compile-libfuzzer-introspector-x86_64": WAL_LEVEL_LOGICAL, Step #6 - "compile-libfuzzer-introspector-x86_64": } WalLevel; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.258 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/tupconvert.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TupleConversionMap Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc indesc; /* tupdesc for source rowtype */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc outdesc; /* tupdesc for result rowtype */ Step #6 - "compile-libfuzzer-introspector-x86_64": AttrMap *attrMap; /* indexes of input fields, or 0 for null */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *invalues; /* workspace for deconstructing source */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *inisnull; Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *outvalues; /* workspace for constructing result */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool *outisnull; Step #6 - "compile-libfuzzer-introspector-x86_64": } TupleConversionMap; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.261 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogbackup.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BackupState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Fields saved at backup start */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* Backup label name one extra byte for null-termination */ Step #6 - "compile-libfuzzer-introspector-x86_64": char name[MAXPGPATH + 1]; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr startpoint; /* backup start WAL location */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID starttli; /* backup start TLI */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr checkpointloc; /* last checkpoint location */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_t starttime; /* backup start time */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool started_in_recovery; /* backup started in recovery? */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr istartpoint; /* incremental based on backup at this LSN */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID istarttli; /* incremental based on backup on this TLI */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Fields saved at the end of backup */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr stoppoint; /* backup stop WAL location */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID stoptli; /* backup stop TLI */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_time_t stoptime; /* backup stop time */ Step #6 - "compile-libfuzzer-introspector-x86_64": } BackupState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.265 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/visibilitymap.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.268 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/transam.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct FullTransactionId Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 value; Step #6 - "compile-libfuzzer-introspector-x86_64": } FullTransactionId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TransamVariablesData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are protected by OidGenLock. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid nextOid; /* next OID to assign */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 oidCount; /* OIDs available before must do XLOG work */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are protected by XidGenLock. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId nextXid; /* next XID to assign */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId oldestXid; /* cluster-wide minimum datfrozenxid */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xidVacLimit; /* start forcing autovacuums here */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xidWarnLimit; /* start complaining here */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xidStopLimit; /* refuse to advance nextXid beyond here */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xidWrapLimit; /* where the world ends */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oldestXidDB; /* database with minimum datfrozenxid */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are protected by CommitTsLock Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId oldestCommitTsXid; Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId newestCommitTsXid; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are protected by ProcArrayLock. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId latestCompletedXid; /* newest full XID that has Step #6 - "compile-libfuzzer-introspector-x86_64": * committed or aborted */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Number of top-level transactions with xids (i.e. which may have Step #6 - "compile-libfuzzer-introspector-x86_64": * modified the database) that completed in some form since the start of Step #6 - "compile-libfuzzer-introspector-x86_64": * the server. This currently is solely used to check whether Step #6 - "compile-libfuzzer-introspector-x86_64": * GetSnapshotData() needs to recompute the contents of the snapshot, or Step #6 - "compile-libfuzzer-introspector-x86_64": * not. There are likely other users of this. Always above 1. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 xactCompletionCount; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * These fields are protected by XactTruncationLock Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId oldestClogXid; /* oldest it's safe to look up in clog */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": } TransamVariablesData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.273 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/rmgr.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef uint8 RmgrId; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum RmgrIds Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": #include "access/rmgrlist.h" Step #6 - "compile-libfuzzer-introspector-x86_64": RM_NEXT_ID Step #6 - "compile-libfuzzer-introspector-x86_64": } RmgrIds; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.277 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/bufmask.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.280 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/brin_xlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_brin_update Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* offset number of old tuple on old page */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber oldOffnum; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": xl_brin_insert insert; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_brin_update; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_brin_samepage_update Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_brin_samepage_update; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_brin_revmap_extend Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * XXX: This is actually redundant - the block number is stored as part of Step #6 - "compile-libfuzzer-introspector-x86_64": * backup block 1. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber targetBlk; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_brin_revmap_extend; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_brin_desummarize Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pagesPerRange; Step #6 - "compile-libfuzzer-introspector-x86_64": /* page number location to set to invalid */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber heapBlk; Step #6 - "compile-libfuzzer-introspector-x86_64": /* offset of item to delete in regular index page */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber regOffset; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_brin_desummarize; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_brin_createidx Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pagesPerRange; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 version; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_brin_createidx; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct xl_brin_insert Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber heapBlk; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* extra information needed to update the revmap */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber pagesPerRange; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* offset number in the main page to insert the tuple to. */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offnum; Step #6 - "compile-libfuzzer-introspector-x86_64": } xl_brin_insert; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.284 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogrecovery.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_UNSET, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_XID, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_TIME, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_NAME, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_LSN, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_IMMEDIATE, Step #6 - "compile-libfuzzer-introspector-x86_64": } RecoveryTargetType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Information about the last valid or applied record, after which new WAL Step #6 - "compile-libfuzzer-introspector-x86_64": * can be appended. 'lastRec' is the position where the last record Step #6 - "compile-libfuzzer-introspector-x86_64": * starts, and 'endOfLog' is its end. 'lastPage' is a copy of the last Step #6 - "compile-libfuzzer-introspector-x86_64": * partial page that contains endOfLog (or NULL if endOfLog is exactly at Step #6 - "compile-libfuzzer-introspector-x86_64": * page boundary). 'lastPageBeginPtr' is the position where the last page Step #6 - "compile-libfuzzer-introspector-x86_64": * begins. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * endOfLogTLI is the TLI in the filename of the XLOG segment containing Step #6 - "compile-libfuzzer-introspector-x86_64": * the last applied record. It could be different from lastRecTLI, if Step #6 - "compile-libfuzzer-introspector-x86_64": * there was a timeline switch in that segment, and we were reading the Step #6 - "compile-libfuzzer-introspector-x86_64": * old WAL from a segment belonging to a higher timeline. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr lastRec; /* start of last valid or applied record */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID lastRecTLI; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr endOfLog; /* end of last valid or applied record */ Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID endOfLogTLI; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr lastPageBeginPtr; /* LSN of page that contains endOfLog */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *lastPage; /* copy of the last page, up to endOfLog */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * abortedRecPtr is the start pointer of a broken record at end of WAL Step #6 - "compile-libfuzzer-introspector-x86_64": * when recovery completes; missingContrecPtr is the location of the first Step #6 - "compile-libfuzzer-introspector-x86_64": * contrecord that went missing. See CreateOverwriteContrecordRecord for Step #6 - "compile-libfuzzer-introspector-x86_64": * details. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr abortedRecPtr; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr missingContrecPtr; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* short human-readable string describing why recovery ended */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *recoveryStopReason; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If standby or recovery signal file was found, these flags are set Step #6 - "compile-libfuzzer-introspector-x86_64": * accordingly. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool standby_signal_file_found; Step #6 - "compile-libfuzzer-introspector-x86_64": bool recovery_signal_file_found; Step #6 - "compile-libfuzzer-introspector-x86_64": } EndOfWalRecoveryInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum RecoveryPauseState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_NOT_PAUSED, /* pause not requested */ Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_PAUSE_REQUESTED, /* pause requested, but not yet paused */ Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_PAUSED, /* recovery is paused */ Step #6 - "compile-libfuzzer-introspector-x86_64": } RecoveryPauseState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_TIMELINE_CONTROLFILE, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_TIMELINE_LATEST, Step #6 - "compile-libfuzzer-introspector-x86_64": RECOVERY_TARGET_TIMELINE_NUMERIC, Step #6 - "compile-libfuzzer-introspector-x86_64": } RecoveryTargetTimeLineGoal; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.289 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/attnum.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int16 AttrNumber; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.292 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/gistxlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct gistxlogPageReuse Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator locator; Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber block; Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId snapshotConflictHorizon; Step #6 - "compile-libfuzzer-introspector-x86_64": bool isCatalogRel; /* to handle recovery conflict during logical Step #6 - "compile-libfuzzer-introspector-x86_64": * decoding on standby */ Step #6 - "compile-libfuzzer-introspector-x86_64": } gistxlogPageReuse; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct gistxlogPageSplit Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber origrlink; /* rightlink of the page before split */ Step #6 - "compile-libfuzzer-introspector-x86_64": GistNSN orignsn; /* NSN of the page before split */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool origleaf; /* was split page a leaf page? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 npage; /* # of pages in the split */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool markfollowright; /* set F_FOLLOW_RIGHT flags */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * follow: 1. gistxlogPage and array of IndexTupleData per page Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } gistxlogPageSplit; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct gistxlogDelete Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId snapshotConflictHorizon; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntodelete; /* number of deleted offsets */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isCatalogRel; /* to handle recovery conflict during logical Step #6 - "compile-libfuzzer-introspector-x86_64": * decoding on standby */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* TODELETE OFFSET NUMBERS */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } gistxlogDelete; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct gistxlogPageUpdate Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* number of deleted offsets */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntodelete; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 ntoinsert; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * In payload of blk 0 : 1. todelete OffsetNumbers 2. tuples to insert Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } gistxlogPageUpdate; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct gistxlogPageDelete Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": FullTransactionId deleteXid; /* last Xid which could see page in scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": OffsetNumber downlinkOffset; /* Offset of downlink referencing this Step #6 - "compile-libfuzzer-introspector-x86_64": * page */ Step #6 - "compile-libfuzzer-introspector-x86_64": } gistxlogPageDelete; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.296 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogstats.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogRecStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 count; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 rec_len; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 fpi_len; Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogRecStats; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct XLogStats Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 count; Step #6 - "compile-libfuzzer-introspector-x86_64": #ifdef FRONTEND Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr startptr; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr endptr; Step #6 - "compile-libfuzzer-introspector-x86_64": #endif Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecStats rmgr_stats[RM_MAX_ID + 1]; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecStats record_stats[RM_MAX_ID + 1][MAX_XLINFO_TYPES]; Step #6 - "compile-libfuzzer-introspector-x86_64": } XLogStats; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.300 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/detoast.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.303 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/generic_xlog.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct GenericXLogState GenericXLogState; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.306 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/visibilitymapdefs.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.310 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/relscan.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TableScanDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* scan parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": Relation rs_rd; /* heap relation descriptor */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct SnapshotData *rs_snapshot; /* snapshot to see */ Step #6 - "compile-libfuzzer-introspector-x86_64": int rs_nkeys; /* number of scan keys */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct ScanKeyData *rs_key; /* array of scan key descriptors */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Scan type-specific members Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Iterator for Bitmap Table Scans */ Step #6 - "compile-libfuzzer-introspector-x86_64": TBMIterator rs_tbmiterator; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Range of ItemPointers for table_scan_getnextslot_tidrange() to Step #6 - "compile-libfuzzer-introspector-x86_64": * scan. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData rs_mintid; Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData rs_maxtid; Step #6 - "compile-libfuzzer-introspector-x86_64": } tidrange; Step #6 - "compile-libfuzzer-introspector-x86_64": } st; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Information about type and behaviour of the scan, a bitmask of members Step #6 - "compile-libfuzzer-introspector-x86_64": * of the ScanOptions enum (see tableam.h). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 rs_flags; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": struct ParallelTableScanDescData *rs_parallel; /* parallel scan Step #6 - "compile-libfuzzer-introspector-x86_64": * information */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TableScanDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelTableScanDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator phs_locator; /* physical relation to scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool phs_syncscan; /* report location to syncscan logic? */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool phs_snapshot_any; /* SnapshotAny, not phs_snapshot_data? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size phs_snapshot_off; /* data for snapshot */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ParallelTableScanDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelBlockTableScanDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelTableScanDescData base; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber phs_nblocks; /* # blocks in relation at start of scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": slock_t phs_mutex; /* mutual exclusion for setting startblock */ Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber phs_startblock; /* starting block number */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_atomic_uint64 phs_nallocated; /* number of blocks allocated to Step #6 - "compile-libfuzzer-introspector-x86_64": * workers so far. */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ParallelBlockTableScanDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelBlockTableScanWorkerData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 phsw_nallocated; /* Current # of blocks into the scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 phsw_chunk_remaining; /* # blocks left in this chunk */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 phsw_chunk_size; /* The number of blocks to allocate in Step #6 - "compile-libfuzzer-introspector-x86_64": * each I/O chunk for the scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ParallelBlockTableScanWorkerData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexFetchTableData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Relation rel; Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexFetchTableData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelIndexScanDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator ps_locator; /* physical table relation to scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": RelFileLocator ps_indexlocator; /* physical index relation to scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": Size ps_offset; /* Offset in bytes of am specific structure */ Step #6 - "compile-libfuzzer-introspector-x86_64": char ps_snapshot_data[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } ParallelIndexScanDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SysScanDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Relation heap_rel; /* catalog being scanned */ Step #6 - "compile-libfuzzer-introspector-x86_64": Relation irel; /* NULL if doing heap scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct TableScanDescData *scan; /* only valid in storage-scan case */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct IndexScanDescData *iscan; /* only valid in index-scan case */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct SnapshotData *snapshot; /* snapshot to unregister at end of scan */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct TupleTableSlot *slot; Step #6 - "compile-libfuzzer-introspector-x86_64": } SysScanDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TableScanDescData *TableScanDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelTableScanDescData *ParallelTableScanDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelBlockTableScanDescData *ParallelBlockTableScanDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelBlockTableScanWorkerData *ParallelBlockTableScanWorker; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexScanDescData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* scan parameters */ Step #6 - "compile-libfuzzer-introspector-x86_64": Relation heapRelation; /* heap relation descriptor, or NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": Relation indexRelation; /* index relation descriptor */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct SnapshotData *xs_snapshot; /* snapshot to see */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numberOfKeys; /* number of index qualifier conditions */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numberOfOrderBys; /* number of ordering operators */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct ScanKeyData *keyData; /* array of index qualifier descriptors */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct ScanKeyData *orderByData; /* array of ordering op descriptors */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool xs_want_itup; /* caller requests index tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool xs_temp_snap; /* unregister snapshot at scan end? */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* signaling to index AM about killing index tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool kill_prior_tuple; /* last-returned tuple is dead */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool ignore_killed_tuples; /* do not return killed entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool xactStartedInRecovery; /* prevents killing/seeing killed Step #6 - "compile-libfuzzer-introspector-x86_64": * tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* index access method's private state */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *opaque; /* access-method-specific info */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * In an index-only scan, a successful amgettuple call must fill either Step #6 - "compile-libfuzzer-introspector-x86_64": * xs_itup (and xs_itupdesc) or xs_hitup (and xs_hitupdesc) to provide the Step #6 - "compile-libfuzzer-introspector-x86_64": * data returned by the scan. It can fill both, in which case the heap Step #6 - "compile-libfuzzer-introspector-x86_64": * format will be used. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexTuple xs_itup; /* index tuple returned by AM */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct TupleDescData *xs_itupdesc; /* rowtype descriptor of xs_itup */ Step #6 - "compile-libfuzzer-introspector-x86_64": HeapTuple xs_hitup; /* index data returned by AM, as HeapTuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct TupleDescData *xs_hitupdesc; /* rowtype descriptor of xs_hitup */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData xs_heaptid; /* result */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool xs_heap_continue; /* T if must keep walking, potential Step #6 - "compile-libfuzzer-introspector-x86_64": * further results */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexFetchTableData *xs_heapfetch; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": bool xs_recheck; /* T means scan keys must be rechecked */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * When fetching with an ordering operator, the values of the ORDER BY Step #6 - "compile-libfuzzer-introspector-x86_64": * expressions of the last returned tuple, according to the index. If Step #6 - "compile-libfuzzer-introspector-x86_64": * xs_recheckorderby is true, these need to be rechecked just like the Step #6 - "compile-libfuzzer-introspector-x86_64": * scan keys, and the values returned here are a lower-bound on the actual Step #6 - "compile-libfuzzer-introspector-x86_64": * values. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum *xs_orderbyvals; Step #6 - "compile-libfuzzer-introspector-x86_64": bool *xs_orderbynulls; Step #6 - "compile-libfuzzer-introspector-x86_64": bool xs_recheckorderby; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* parallel index scan information, in shared memory */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct ParallelIndexScanDescData *parallel_scan; Step #6 - "compile-libfuzzer-introspector-x86_64": } IndexScanDescData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.314 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/brin_revmap.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BrinRevmap BrinRevmap; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.318 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/spgist_private.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistMetaPageData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint32 magicNumber; /* for identity cross-check */ Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistLUPCache lastUsedPages; /* shared storage of last-used info */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistMetaPageData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistLUPCache Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistLastUsedPage cachedPage[SPGIST_CACHED_PAGES]; Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistLUPCache; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistDeadTupleData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int tupstate:2, /* LIVE/REDIRECT/DEAD/PLACEHOLDER */ Step #6 - "compile-libfuzzer-introspector-x86_64": size:30; Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_info; /* not used in dead tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData pointer; /* redirection inside index */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId xid; /* ID of xact that inserted this tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistDeadTupleData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef SpGistDeadTupleData *SpGistDeadTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistPageOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 flags; /* see bit definitions below */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nRedirection; /* number of redirection tuples on page */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nPlaceholder; /* number of placeholder tuples on page */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* note there's no count of either LIVE or DEAD tuples ... */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 spgist_page_id; /* for identification of SP-GiST indexes */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistPageOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistInnerTupleData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int tupstate:2, /* LIVE/REDIRECT/DEAD/PLACEHOLDER */ Step #6 - "compile-libfuzzer-introspector-x86_64": allTheSame:1, /* all nodes in tuple are equivalent */ Step #6 - "compile-libfuzzer-introspector-x86_64": nNodes:13, /* number of nodes within inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": prefixSize:16; /* size of prefix, or 0 if none */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 size; /* total size of inner tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* On most machines there will be a couple of wasted bytes here */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* prefix datum follows, then nodes */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistInnerTupleData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef SpGistPageOpaqueData *SpGistPageOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef SpGistInnerTupleData *SpGistInnerTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistSearchItem Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": pairingheap_node phNode; /* pairing heap node */ Step #6 - "compile-libfuzzer-introspector-x86_64": Datum value; /* value reconstructed from parent, or Step #6 - "compile-libfuzzer-introspector-x86_64": * leafValue if isLeaf */ Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistLeafTuple leafTuple; /* whole leaf tuple, if needed */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *traversalValue; /* opclass-specific traverse value */ Step #6 - "compile-libfuzzer-introspector-x86_64": int level; /* level of items on this page */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData heapPtr; /* heap info, if heap tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isNull; /* SearchItem is NULL item */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isLeaf; /* SearchItem is heap item */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheck; /* qual recheck is needed */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheckDistances; /* distance recheck is needed */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* array with numberOfOrderBys entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": double distances[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistSearchItem; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistTypeDesc Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid type; Step #6 - "compile-libfuzzer-introspector-x86_64": int16 attlen; Step #6 - "compile-libfuzzer-introspector-x86_64": bool attbyval; Step #6 - "compile-libfuzzer-introspector-x86_64": char attalign; Step #6 - "compile-libfuzzer-introspector-x86_64": char attstorage; Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistTypeDesc; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistLastUsedPage Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BlockNumber blkno; /* block number, or InvalidBlockNumber */ Step #6 - "compile-libfuzzer-introspector-x86_64": int freeSpace; /* page's free space (could be obsolete!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistLastUsedPage; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistLeafTupleData *SpGistLeafTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistState Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Relation index; /* index we're working with */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": spgConfigOut config; /* filled in by opclass config method */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistTypeDesc attType; /* type of values to be indexed/restored */ Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistTypeDesc attLeafType; /* type of leaf-tuple values */ Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistTypeDesc attPrefixType; /* type of inner-tuple prefix values */ Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistTypeDesc attLabelType; /* type of node label values */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* leafTupDesc typically points to index's tupdesc, but not always */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc leafTupDesc; /* descriptor for leaf-level tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": char *deadTupleStorage; /* workspace for spgFormDeadTuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId redirectXid; /* XID to use when creating a redirect tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool isBuild; /* true if doing index build */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistState; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistScanOpaqueData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistState state; /* see above */ Step #6 - "compile-libfuzzer-introspector-x86_64": pairingheap *scanQueue; /* queue of to be visited items */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext tempCxt; /* short-lived memory context */ Step #6 - "compile-libfuzzer-introspector-x86_64": MemoryContext traversalCxt; /* single scan lifetime memory context */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Control flags showing whether to search nulls and/or non-nulls */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool searchNulls; /* scan matches (all) null entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool searchNonNulls; /* scan matches (some) non-null entries */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Index quals to be passed to opclass (null-related quals removed) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numberOfKeys; /* number of index qualifier conditions */ Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey keyData; /* array of index qualifier descriptors */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numberOfOrderBys; /* number of ordering operators */ Step #6 - "compile-libfuzzer-introspector-x86_64": int numberOfNonNullOrderBys; /* number of ordering operators Step #6 - "compile-libfuzzer-introspector-x86_64": * with non-NULL arguments */ Step #6 - "compile-libfuzzer-introspector-x86_64": ScanKey orderByData; /* array of ordering op descriptors */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid *orderByTypes; /* array of ordering op return types */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *nonNullOrderByOffsets; /* array of offset of non-NULL Step #6 - "compile-libfuzzer-introspector-x86_64": * ordering keys in the original array */ Step #6 - "compile-libfuzzer-introspector-x86_64": Oid indexCollation; /* collation of index column */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Opclass defined functions: */ Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo innerConsistentFn; Step #6 - "compile-libfuzzer-introspector-x86_64": FmgrInfo leafConsistentFn; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Pre-allocated workspace arrays: */ Step #6 - "compile-libfuzzer-introspector-x86_64": double *zeroDistances; Step #6 - "compile-libfuzzer-introspector-x86_64": double *infDistances; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields are only used in amgetbitmap scans: */ Step #6 - "compile-libfuzzer-introspector-x86_64": TIDBitmap *tbm; /* bitmap being filled */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 ntids; /* number of TIDs passed to bitmap */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* These fields are only used in amgettuple scans: */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool want_itup; /* are we reconstructing tuples? */ Step #6 - "compile-libfuzzer-introspector-x86_64": TupleDesc reconTupDesc; /* if so, descriptor for reconstructed tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nPtrs; /* number of TIDs found on current page */ Step #6 - "compile-libfuzzer-introspector-x86_64": int iPtr; /* index for scanning through same */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData heapPtrs[MaxIndexTuplesPerPage]; /* TIDs from cur page */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheck[MaxIndexTuplesPerPage]; /* their recheck flags */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool recheckDistances[MaxIndexTuplesPerPage]; /* distance recheck Step #6 - "compile-libfuzzer-introspector-x86_64": * flags */ Step #6 - "compile-libfuzzer-introspector-x86_64": HeapTuple reconTups[MaxIndexTuplesPerPage]; /* reconstructed tuples */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* distances (for recheck) */ Step #6 - "compile-libfuzzer-introspector-x86_64": IndexOrderByDistance *distances[MaxIndexTuplesPerPage]; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Note: using MaxIndexTuplesPerPage above is a bit hokey since Step #6 - "compile-libfuzzer-introspector-x86_64": * SpGistLeafTuples aren't exactly IndexTuples; however, they are larger, Step #6 - "compile-libfuzzer-introspector-x86_64": * so this is safe. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistScanOpaqueData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistCache Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": spgConfigOut config; /* filled in by opclass config method */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistTypeDesc attType; /* type of values to be indexed/restored */ Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistTypeDesc attLeafType; /* type of leaf-tuple values */ Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistTypeDesc attPrefixType; /* type of inner-tuple prefix values */ Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistTypeDesc attLabelType; /* type of node label values */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": SpGistLUPCache lastUsedPages; /* local storage of last-used info */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistCache; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef IndexTupleData SpGistNodeTupleData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef SpGistNodeTupleData *SpGistNodeTuple; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistOptions Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 varlena_header_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int fillfactor; /* page fill factor in percent (0..100) */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistOptions; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef SpGistScanOpaqueData *SpGistScanOpaque; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpGistLeafTupleData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": unsigned int tupstate:2, /* LIVE/REDIRECT/DEAD/PLACEHOLDER */ Step #6 - "compile-libfuzzer-introspector-x86_64": size:30; /* large enough for any palloc'able value */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 t_info; /* nextOffset, which links to the next tuple Step #6 - "compile-libfuzzer-introspector-x86_64": * in chain, plus two flag bits */ Step #6 - "compile-libfuzzer-introspector-x86_64": ItemPointerData heapPtr; /* TID of represented heap tuple */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* nulls bitmap follows if the flag bit for it is set */ Step #6 - "compile-libfuzzer-introspector-x86_64": /* leaf datum, then any included datums, follows on a MAXALIGN boundary */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SpGistLeafTupleData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.324 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/xlogarchive.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.327 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/slru.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SlruSharedData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* Number of buffers managed by this SLRU structure */ Step #6 - "compile-libfuzzer-introspector-x86_64": int num_slots; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Arrays holding info for each buffer slot. Page number is undefined Step #6 - "compile-libfuzzer-introspector-x86_64": * when status is EMPTY, as is page_lru_count. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char **page_buffer; Step #6 - "compile-libfuzzer-introspector-x86_64": SlruPageStatus *page_status; Step #6 - "compile-libfuzzer-introspector-x86_64": bool *page_dirty; Step #6 - "compile-libfuzzer-introspector-x86_64": int64 *page_number; Step #6 - "compile-libfuzzer-introspector-x86_64": int *page_lru_count; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* The buffer_locks protects the I/O on each buffer slots */ Step #6 - "compile-libfuzzer-introspector-x86_64": LWLockPadded *buffer_locks; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Locks to protect the in memory buffer slot access in SLRU bank. */ Step #6 - "compile-libfuzzer-introspector-x86_64": LWLockPadded *bank_locks; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*---------- Step #6 - "compile-libfuzzer-introspector-x86_64": * A bank-wise LRU counter is maintained because we do a victim buffer Step #6 - "compile-libfuzzer-introspector-x86_64": * search within a bank. Furthermore, manipulating an individual bank Step #6 - "compile-libfuzzer-introspector-x86_64": * counter avoids frequent cache invalidation since we update it every time Step #6 - "compile-libfuzzer-introspector-x86_64": * we access the page. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * We mark a page "most recently used" by setting Step #6 - "compile-libfuzzer-introspector-x86_64": * page_lru_count[slotno] = ++bank_cur_lru_count[bankno]; Step #6 - "compile-libfuzzer-introspector-x86_64": * The oldest page in the bank is therefore the one with the highest value Step #6 - "compile-libfuzzer-introspector-x86_64": * of Step #6 - "compile-libfuzzer-introspector-x86_64": * bank_cur_lru_count[bankno] - page_lru_count[slotno] Step #6 - "compile-libfuzzer-introspector-x86_64": * The counts will eventually wrap around, but this calculation still Step #6 - "compile-libfuzzer-introspector-x86_64": * works as long as no page's age exceeds INT_MAX counts. Step #6 - "compile-libfuzzer-introspector-x86_64": *---------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": int *bank_cur_lru_count; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Optional array of WAL flush LSNs associated with entries in the SLRU Step #6 - "compile-libfuzzer-introspector-x86_64": * pages. If not zero/NULL, we must flush WAL before writing pages (true Step #6 - "compile-libfuzzer-introspector-x86_64": * for pg_xact, false for everything else). group_lsn[] has Step #6 - "compile-libfuzzer-introspector-x86_64": * lsn_groups_per_page entries per buffer slot, each containing the Step #6 - "compile-libfuzzer-introspector-x86_64": * highest LSN known for a contiguous group of SLRU entries on that slot's Step #6 - "compile-libfuzzer-introspector-x86_64": * page. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr *group_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": int lsn_groups_per_page; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * latest_page_number is the page number of the current end of the log; Step #6 - "compile-libfuzzer-introspector-x86_64": * this is not critical data, since we use it only to avoid swapping out Step #6 - "compile-libfuzzer-introspector-x86_64": * the latest page. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_atomic_uint64 latest_page_number; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* SLRU's index for statistics purposes (might not be unique) */ Step #6 - "compile-libfuzzer-introspector-x86_64": int slru_stats_idx; Step #6 - "compile-libfuzzer-introspector-x86_64": } SlruSharedData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SlruCtlData Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SlruShared shared; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Number of banks in this SLRU. */ Step #6 - "compile-libfuzzer-introspector-x86_64": uint16 nbanks; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * If true, use long segment file names. Otherwise, use short file names. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * For details about the file name format, see SlruFileName(). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool long_segment_names; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Which sync handler function to use when handing sync requests over to Step #6 - "compile-libfuzzer-introspector-x86_64": * the checkpointer. SYNC_HANDLER_NONE to disable fsync (eg pg_notify). Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": SyncRequestHandler sync_handler; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Decide whether a page is "older" for truncation and as a hint for Step #6 - "compile-libfuzzer-introspector-x86_64": * evicting pages in LRU order. Return true if every entry of the first Step #6 - "compile-libfuzzer-introspector-x86_64": * argument is older than every entry of the second argument. Note that Step #6 - "compile-libfuzzer-introspector-x86_64": * !PagePrecedes(a,b) && !PagePrecedes(b,a) need not imply a==b; it also Step #6 - "compile-libfuzzer-introspector-x86_64": * arises when some entries are older and some are not. For SLRUs using Step #6 - "compile-libfuzzer-introspector-x86_64": * SimpleLruTruncate(), this must use modular arithmetic. (For others, Step #6 - "compile-libfuzzer-introspector-x86_64": * the behavior of this callback has no functional implications.) Use Step #6 - "compile-libfuzzer-introspector-x86_64": * SlruPagePrecedesUnitTests() in SLRUs meeting its criteria. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool (*PagePrecedes) (int64, int64); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * Dir is set during SimpleLruInit and does not change thereafter. Since Step #6 - "compile-libfuzzer-introspector-x86_64": * it's always the same, it doesn't need to be in shared memory. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": char Dir[64]; Step #6 - "compile-libfuzzer-introspector-x86_64": } SlruCtlData; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*SlruScanCallback) (SlruCtl ctl, char *filename, int64 segpage, Step #6 - "compile-libfuzzer-introspector-x86_64": void *data); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef SlruSharedData *SlruShared; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef SlruCtlData *SlruCtl; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": SLRU_PAGE_EMPTY, /* buffer is not in use */ Step #6 - "compile-libfuzzer-introspector-x86_64": SLRU_PAGE_READ_IN_PROGRESS, /* page is being read in */ Step #6 - "compile-libfuzzer-introspector-x86_64": SLRU_PAGE_VALID, /* page is valid and not being written */ Step #6 - "compile-libfuzzer-introspector-x86_64": SLRU_PAGE_WRITE_IN_PROGRESS, /* page is being written out */ Step #6 - "compile-libfuzzer-introspector-x86_64": } SlruPageStatus; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.332 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/parallel.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*parallel_worker_main_type) (dsm_segment *seg, shm_toc *toc); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelWorkerContext Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": dsm_segment *seg; Step #6 - "compile-libfuzzer-introspector-x86_64": shm_toc *toc; Step #6 - "compile-libfuzzer-introspector-x86_64": } ParallelWorkerContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelContext Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": dlist_node node; Step #6 - "compile-libfuzzer-introspector-x86_64": SubTransactionId subid; Step #6 - "compile-libfuzzer-introspector-x86_64": int nworkers; /* Maximum number of workers to launch */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nworkers_to_launch; /* Actual number of workers to launch */ Step #6 - "compile-libfuzzer-introspector-x86_64": int nworkers_launched; Step #6 - "compile-libfuzzer-introspector-x86_64": char *library_name; Step #6 - "compile-libfuzzer-introspector-x86_64": char *function_name; Step #6 - "compile-libfuzzer-introspector-x86_64": ErrorContextCallback *error_context_stack; Step #6 - "compile-libfuzzer-introspector-x86_64": shm_toc_estimator estimator; Step #6 - "compile-libfuzzer-introspector-x86_64": dsm_segment *seg; Step #6 - "compile-libfuzzer-introspector-x86_64": void *private_memory; Step #6 - "compile-libfuzzer-introspector-x86_64": shm_toc *toc; Step #6 - "compile-libfuzzer-introspector-x86_64": ParallelWorkerInfo *worker; Step #6 - "compile-libfuzzer-introspector-x86_64": int nknown_attached_workers; Step #6 - "compile-libfuzzer-introspector-x86_64": bool *known_attached_workers; Step #6 - "compile-libfuzzer-introspector-x86_64": } ParallelContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct ParallelWorkerInfo Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BackgroundWorkerHandle *bgwhandle; Step #6 - "compile-libfuzzer-introspector-x86_64": shm_mq_handle *error_mqh; Step #6 - "compile-libfuzzer-introspector-x86_64": } ParallelWorkerInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.336 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/htup_details.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HeapTupleFields Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId t_xmin; /* inserting xact ID */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId t_xmax; /* deleting or locking xact ID */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": union Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": CommandId t_cid; /* inserting or deleting command ID, or both */ Step #6 - "compile-libfuzzer-introspector-x86_64": TransactionId t_xvac; /* old-style VACUUM FULL xact ID */ Step #6 - "compile-libfuzzer-introspector-x86_64": } t_field3; Step #6 - "compile-libfuzzer-introspector-x86_64": } HeapTupleFields; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct DatumTupleFields Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int32 datum_len_; /* varlena header (do not touch directly!) */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": int32 datum_typmod; /* -1, or identifier of a record type */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": Oid datum_typeid; /* composite type OID, or RECORDOID */ Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * datum_typeid cannot be a domain over composite, only plain composite, Step #6 - "compile-libfuzzer-introspector-x86_64": * even if the datum is meant as a value of a domain-over-composite type. Step #6 - "compile-libfuzzer-introspector-x86_64": * This is in line with the general principle that CoerceToDomain does not Step #6 - "compile-libfuzzer-introspector-x86_64": * change the physical representation of the base type value. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Note: field ordering is chosen with thought that Oid might someday Step #6 - "compile-libfuzzer-introspector-x86_64": * widen to 64 bits. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": } DatumTupleFields; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.343 INFO datatypes - __init__: Processing /src/postgresql/src/include/access/printtup.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.346 INFO datatypes - __init__: Processing /src/postgresql/src/include/backup/basebackup_sink.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct bbsink bbsink; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct bbsink_ops bbsink_ops; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct bbsink_state Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": List *tablespaces; Step #6 - "compile-libfuzzer-introspector-x86_64": int tablespace_num; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 bytes_done; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 bytes_total; Step #6 - "compile-libfuzzer-introspector-x86_64": bool bytes_total_is_valid; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr startptr; Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID starttli; Step #6 - "compile-libfuzzer-introspector-x86_64": } bbsink_state; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.351 INFO datatypes - __init__: Processing /src/postgresql/src/include/backup/basebackup_incremental.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BACK_UP_FILE_FULLY, Step #6 - "compile-libfuzzer-introspector-x86_64": BACK_UP_FILE_INCREMENTALLY Step #6 - "compile-libfuzzer-introspector-x86_64": } FileBackupMethod; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IncrementalBackupInfo IncrementalBackupInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.355 INFO datatypes - __init__: Processing /src/postgresql/src/include/backup/basebackup_target.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct BaseBackupTargetHandle BaseBackupTargetHandle; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.358 INFO datatypes - __init__: Processing /src/postgresql/src/include/backup/backup_manifest.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum manifest_option Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": MANIFEST_OPTION_YES, Step #6 - "compile-libfuzzer-introspector-x86_64": MANIFEST_OPTION_NO, Step #6 - "compile-libfuzzer-introspector-x86_64": MANIFEST_OPTION_FORCE_ENCODE, Step #6 - "compile-libfuzzer-introspector-x86_64": } backup_manifest_option; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct backup_manifest_info Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": BufFile *buffile; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_checksum_type checksum_type; Step #6 - "compile-libfuzzer-introspector-x86_64": pg_cryptohash_ctx *manifest_ctx; Step #6 - "compile-libfuzzer-introspector-x86_64": uint64 manifest_size; Step #6 - "compile-libfuzzer-introspector-x86_64": bool force_encode; Step #6 - "compile-libfuzzer-introspector-x86_64": bool first_file; Step #6 - "compile-libfuzzer-introspector-x86_64": bool still_checksumming; Step #6 - "compile-libfuzzer-introspector-x86_64": } backup_manifest_info; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.362 INFO datatypes - __init__: Processing /src/postgresql/src/include/backup/basebackup.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Oid oid; /* tablespace's OID */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *path; /* full path to tablespace's directory */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *rpath; /* relative path if it's within PGDATA, else Step #6 - "compile-libfuzzer-introspector-x86_64": * NULL */ Step #6 - "compile-libfuzzer-introspector-x86_64": int64 size; /* total size as sent; -1 if not known */ Step #6 - "compile-libfuzzer-introspector-x86_64": } tablespaceinfo; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.365 INFO datatypes - __init__: Processing /src/postgresql/src/include/backup/walsummary.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WalSummaryIO Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": File file; Step #6 - "compile-libfuzzer-introspector-x86_64": off_t filepos; Step #6 - "compile-libfuzzer-introspector-x86_64": } WalSummaryIO; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct WalSummaryFile Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr start_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": XLogRecPtr end_lsn; Step #6 - "compile-libfuzzer-introspector-x86_64": TimeLineID tli; Step #6 - "compile-libfuzzer-introspector-x86_64": } WalSummaryFile; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.368 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo_pool.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.372 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo_copy.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.375 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo_selection.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.378 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo_misc.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.382 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/restrictinfo.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.385 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo_gene.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef int Gene; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Chromosome Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Gene *string; Step #6 - "compile-libfuzzer-introspector-x86_64": Cost worth; Step #6 - "compile-libfuzzer-introspector-x86_64": } Chromosome; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Pool Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Chromosome *data; Step #6 - "compile-libfuzzer-introspector-x86_64": int size; Step #6 - "compile-libfuzzer-introspector-x86_64": int string_length; Step #6 - "compile-libfuzzer-introspector-x86_64": } Pool; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.389 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/planner.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef PlannedStmt *(*planner_hook_type) (Query *parse, Step #6 - "compile-libfuzzer-introspector-x86_64": const char *query_string, Step #6 - "compile-libfuzzer-introspector-x86_64": int cursorOptions, Step #6 - "compile-libfuzzer-introspector-x86_64": ParamListInfo boundParams); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*create_upper_paths_hook_type) (PlannerInfo *root, Step #6 - "compile-libfuzzer-introspector-x86_64": UpperRelationKind stage, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *input_rel, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *output_rel, Step #6 - "compile-libfuzzer-introspector-x86_64": void *extra); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.392 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/pathnode.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.399 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/inherit.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.402 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/planmain.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*query_pathkeys_callback) (PlannerInfo *root, void *extra); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.407 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/joininfo.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.410 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/subselect.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.414 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/placeholder.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.417 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/clauses.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int numWindowFuncs; /* total number of WindowFuncs found */ Step #6 - "compile-libfuzzer-introspector-x86_64": Index maxWinRef; /* windowFuncs[] is indexed 0 .. maxWinRef */ Step #6 - "compile-libfuzzer-introspector-x86_64": List **windowFuncs; /* lists of WindowFuncs for each winref */ Step #6 - "compile-libfuzzer-introspector-x86_64": } WindowFuncLists; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.421 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/orclauses.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.424 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/appendinfo.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.427 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/tlist.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.431 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo_recombination.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Edge Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": Gene edge_list[4]; /* list of edges */ Step #6 - "compile-libfuzzer-introspector-x86_64": int total_edges; Step #6 - "compile-libfuzzer-introspector-x86_64": int unused_edges; Step #6 - "compile-libfuzzer-introspector-x86_64": } Edge; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct City Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int tour2_position; Step #6 - "compile-libfuzzer-introspector-x86_64": int tour1_position; Step #6 - "compile-libfuzzer-introspector-x86_64": int used; Step #6 - "compile-libfuzzer-introspector-x86_64": int select_list; Step #6 - "compile-libfuzzer-introspector-x86_64": } City; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.435 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/paramassign.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.438 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo_random.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.442 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/cost.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": CONSTRAINT_EXCLUSION_OFF, /* do not use c_e */ Step #6 - "compile-libfuzzer-introspector-x86_64": CONSTRAINT_EXCLUSION_ON, /* apply c_e to all rels */ Step #6 - "compile-libfuzzer-introspector-x86_64": CONSTRAINT_EXCLUSION_PARTITION, /* apply c_e to otherrels only */ Step #6 - "compile-libfuzzer-introspector-x86_64": } ConstraintExclusionType; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.447 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo_mutation.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.451 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/geqo.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": List *initial_rels; /* the base relations we are joining */ Step #6 - "compile-libfuzzer-introspector-x86_64": pg_prng_state random_state; /* PRNG state */ Step #6 - "compile-libfuzzer-introspector-x86_64": } GeqoPrivateData; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.454 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/prep.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.458 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/plancat.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*get_relation_info_hook_type) (PlannerInfo *root, Step #6 - "compile-libfuzzer-introspector-x86_64": Oid relationObjectId, Step #6 - "compile-libfuzzer-introspector-x86_64": bool inhparent, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *rel); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.462 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/paths.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*set_rel_pathlist_hook_type) (PlannerInfo *root, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *rel, Step #6 - "compile-libfuzzer-introspector-x86_64": Index rti, Step #6 - "compile-libfuzzer-introspector-x86_64": RangeTblEntry *rte); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*set_join_pathlist_hook_type) (PlannerInfo *root, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *joinrel, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *outerrel, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *innerrel, Step #6 - "compile-libfuzzer-introspector-x86_64": JoinType jointype, Step #6 - "compile-libfuzzer-introspector-x86_64": JoinPathExtraData *extra); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": PATHKEYS_EQUAL, /* pathkeys are identical */ Step #6 - "compile-libfuzzer-introspector-x86_64": PATHKEYS_BETTER1, /* pathkey 1 is a superset of pathkey 2 */ Step #6 - "compile-libfuzzer-introspector-x86_64": PATHKEYS_BETTER2, /* vice versa */ Step #6 - "compile-libfuzzer-introspector-x86_64": PATHKEYS_DIFFERENT, /* neither pathkey includes the other */ Step #6 - "compile-libfuzzer-introspector-x86_64": } PathKeysComparison; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef RelOptInfo *(*join_search_hook_type) (PlannerInfo *root, Step #6 - "compile-libfuzzer-introspector-x86_64": int levels_needed, Step #6 - "compile-libfuzzer-introspector-x86_64": List *initial_rels); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*ec_matches_callback_type) (PlannerInfo *root, Step #6 - "compile-libfuzzer-introspector-x86_64": RelOptInfo *rel, Step #6 - "compile-libfuzzer-introspector-x86_64": EquivalenceClass *ec, Step #6 - "compile-libfuzzer-introspector-x86_64": EquivalenceMember *em, Step #6 - "compile-libfuzzer-introspector-x86_64": void *arg); Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.468 INFO datatypes - __init__: Processing /src/postgresql/src/include/optimizer/optimizer.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct PlannerInfo PlannerInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": DEBUG_PARALLEL_OFF, Step #6 - "compile-libfuzzer-introspector-x86_64": DEBUG_PARALLEL_ON, Step #6 - "compile-libfuzzer-introspector-x86_64": DEBUG_PARALLEL_REGRESS, Step #6 - "compile-libfuzzer-introspector-x86_64": } DebugParallelMode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IndexOptInfo IndexOptInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SpecialJoinInfo SpecialJoinInfo; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.473 INFO datatypes - __init__: Processing /src/postgresql/src/include/jit/llvmjit_backport.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.476 INFO datatypes - __init__: Processing /src/postgresql/src/include/jit/jit.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct JitInstrumentation Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* number of emitted functions */ Step #6 - "compile-libfuzzer-introspector-x86_64": size_t created_functions; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* accumulated time to generate code */ Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time generation_counter; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* accumulated time to deform tuples, included into generation_counter */ Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time deform_counter; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* accumulated time for inlining */ Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time inlining_counter; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* accumulated time for optimization */ Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time optimization_counter; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* accumulated time for code emission */ Step #6 - "compile-libfuzzer-introspector-x86_64": instr_time emission_counter; Step #6 - "compile-libfuzzer-introspector-x86_64": } JitInstrumentation; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct JitContext Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /* see PGJIT_* above */ Step #6 - "compile-libfuzzer-introspector-x86_64": int flags; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": JitInstrumentation instr; Step #6 - "compile-libfuzzer-introspector-x86_64": } JitContext; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*JitProviderResetAfterErrorCB) (void); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct JitProviderCallbacks JitProviderCallbacks; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*JitProviderInit) (JitProviderCallbacks *cb); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef void (*JitProviderReleaseContextCB) (JitContext *context); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef bool (*JitProviderCompileExprCB) (struct ExprState *state); Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct SharedJitInstrumentation Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int num_workers; Step #6 - "compile-libfuzzer-introspector-x86_64": JitInstrumentation jit_instr[FLEXIBLE_ARRAY_MEMBER]; Step #6 - "compile-libfuzzer-introspector-x86_64": } SharedJitInstrumentation; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.481 INFO datatypes - __init__: Processing /src/postgresql/src/include/jit/llvmjit.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct LLVMJitContext Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": JitContext base; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* used to ensure cleanup of context */ Step #6 - "compile-libfuzzer-introspector-x86_64": ResourceOwner resowner; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* number of modules created */ Step #6 - "compile-libfuzzer-introspector-x86_64": size_t module_generation; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* Step #6 - "compile-libfuzzer-introspector-x86_64": * The LLVM Context used by this JIT context. An LLVM context is reused Step #6 - "compile-libfuzzer-introspector-x86_64": * across many compilations, but occasionally reset to prevent it using Step #6 - "compile-libfuzzer-introspector-x86_64": * too much memory due to more and more types accumulating. Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": LLVMContextRef llvm_context; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* current, "open for write", module */ Step #6 - "compile-libfuzzer-introspector-x86_64": LLVMModuleRef module; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* is there any pending code that needs to be emitted */ Step #6 - "compile-libfuzzer-introspector-x86_64": bool compiled; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* # of objects emitted, used to generate non-conflicting names */ Step #6 - "compile-libfuzzer-introspector-x86_64": int counter; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /* list of handles for code emitted via Orc */ Step #6 - "compile-libfuzzer-introspector-x86_64": List *handles; Step #6 - "compile-libfuzzer-introspector-x86_64": } LLVMJitContext; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.485 INFO datatypes - __init__: Processing /src/postgresql/src/include/jit/llvmjit_emit.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.490 INFO datatypes - __init__: Processing /src/postgresql/src/include/jit/SectionMemoryManager.h Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.496 INFO datatypes - __init__: Processing /src/postgresql/src/include/libpq/hba.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum IPCompareMethod Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ipCmpMask, Step #6 - "compile-libfuzzer-introspector-x86_64": ipCmpSameHost, Step #6 - "compile-libfuzzer-introspector-x86_64": ipCmpSameNet, Step #6 - "compile-libfuzzer-introspector-x86_64": ipCmpAll, Step #6 - "compile-libfuzzer-introspector-x86_64": } IPCompareMethod; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ConnType Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": ctLocal, Step #6 - "compile-libfuzzer-introspector-x86_64": ctHost, Step #6 - "compile-libfuzzer-introspector-x86_64": ctHostSSL, Step #6 - "compile-libfuzzer-introspector-x86_64": ctHostNoSSL, Step #6 - "compile-libfuzzer-introspector-x86_64": ctHostGSS, Step #6 - "compile-libfuzzer-introspector-x86_64": ctHostNoGSS, Step #6 - "compile-libfuzzer-introspector-x86_64": } ConnType; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct AuthToken Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *string; Step #6 - "compile-libfuzzer-introspector-x86_64": bool quoted; Step #6 - "compile-libfuzzer-introspector-x86_64": regex_t *regex; Step #6 - "compile-libfuzzer-introspector-x86_64": } AuthToken; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct HbaLine Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": char *sourcefile; Step #6 - "compile-libfuzzer-introspector-x86_64": int linenumber; Step #6 - "compile-libfuzzer-introspector-x86_64": char *rawline; Step #6 - "compile-libfuzzer-introspector-x86_64": ConnType conntype; Step #6 - "compile-libfuzzer-introspector-x86_64": List *databases; Step #6 - "compile-libfuzzer-introspector-x86_64": List *roles; Step #6 - "compile-libfuzzer-introspector-x86_64": struct sockaddr_storage addr; Step #6 - "compile-libfuzzer-introspector-x86_64": int addrlen; /* zero if we don't have a valid addr */ Step #6 - "compile-libfuzzer-introspector-x86_64": struct sockaddr_storage mask; Step #6 - "compile-libfuzzer-introspector-x86_64": int masklen; /* zero if we don't have a valid mask */ Step #6 - "compile-libfuzzer-introspector-x86_64": IPCompareMethod ip_cmp_method; Step #6 - "compile-libfuzzer-introspector-x86_64": char *hostname; Step #6 - "compile-libfuzzer-introspector-x86_64": UserAuth auth_method; Step #6 - "compile-libfuzzer-introspector-x86_64": char *usermap; Step #6 - "compile-libfuzzer-introspector-x86_64": char *pamservice; Step #6 - "compile-libfuzzer-introspector-x86_64": bool pam_use_hostname; Step #6 - "compile-libfuzzer-introspector-x86_64": bool ldaptls; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapscheme; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapserver; Step #6 - "compile-libfuzzer-introspector-x86_64": int ldapport; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapbinddn; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapbindpasswd; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapsearchattribute; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapsearchfilter; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapbasedn; Step #6 - "compile-libfuzzer-introspector-x86_64": int ldapscope; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapprefix; Step #6 - "compile-libfuzzer-introspector-x86_64": char *ldapsuffix; Step #6 - "compile-libfuzzer-introspector-x86_64": ClientCertMode clientcert; Step #6 - "compile-libfuzzer-introspector-x86_64": ClientCertName clientcertname; Step #6 - "compile-libfuzzer-introspector-x86_64": char *krb_realm; Step #6 - "compile-libfuzzer-introspector-x86_64": bool include_realm; Step #6 - "compile-libfuzzer-introspector-x86_64": bool compat_realm; Step #6 - "compile-libfuzzer-introspector-x86_64": bool upn_username; Step #6 - "compile-libfuzzer-introspector-x86_64": List *radiusservers; Step #6 - "compile-libfuzzer-introspector-x86_64": char *radiusservers_s; Step #6 - "compile-libfuzzer-introspector-x86_64": List *radiussecrets; Step #6 - "compile-libfuzzer-introspector-x86_64": char *radiussecrets_s; Step #6 - "compile-libfuzzer-introspector-x86_64": List *radiusidentifiers; Step #6 - "compile-libfuzzer-introspector-x86_64": char *radiusidentifiers_s; Step #6 - "compile-libfuzzer-introspector-x86_64": List *radiusports; Step #6 - "compile-libfuzzer-introspector-x86_64": char *radiusports_s; Step #6 - "compile-libfuzzer-introspector-x86_64": } HbaLine; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct Port hbaPort; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ClientCertMode Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": clientCertOff, Step #6 - "compile-libfuzzer-introspector-x86_64": clientCertCA, Step #6 - "compile-libfuzzer-introspector-x86_64": clientCertFull, Step #6 - "compile-libfuzzer-introspector-x86_64": } ClientCertMode; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct IdentLine Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": int linenumber; Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": char *usermap; Step #6 - "compile-libfuzzer-introspector-x86_64": AuthToken *system_user; Step #6 - "compile-libfuzzer-introspector-x86_64": AuthToken *pg_user; Step #6 - "compile-libfuzzer-introspector-x86_64": } IdentLine; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum UserAuth Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": uaReject, Step #6 - "compile-libfuzzer-introspector-x86_64": uaImplicitReject, /* Not a user-visible option */ Step #6 - "compile-libfuzzer-introspector-x86_64": uaTrust, Step #6 - "compile-libfuzzer-introspector-x86_64": uaIdent, Step #6 - "compile-libfuzzer-introspector-x86_64": uaPassword, Step #6 - "compile-libfuzzer-introspector-x86_64": uaMD5, Step #6 - "compile-libfuzzer-introspector-x86_64": uaSCRAM, Step #6 - "compile-libfuzzer-introspector-x86_64": uaGSS, Step #6 - "compile-libfuzzer-introspector-x86_64": uaSSPI, Step #6 - "compile-libfuzzer-introspector-x86_64": uaPAM, Step #6 - "compile-libfuzzer-introspector-x86_64": uaBSD, Step #6 - "compile-libfuzzer-introspector-x86_64": uaLDAP, Step #6 - "compile-libfuzzer-introspector-x86_64": uaCert, Step #6 - "compile-libfuzzer-introspector-x86_64": uaRADIUS, Step #6 - "compile-libfuzzer-introspector-x86_64": uaPeer, Step #6 - "compile-libfuzzer-introspector-x86_64": #define USER_AUTH_LAST uaPeer /* Must be last value of this enum */ Step #6 - "compile-libfuzzer-introspector-x86_64": } UserAuth; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef enum ClientCertName Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": clientCertCN, Step #6 - "compile-libfuzzer-introspector-x86_64": clientCertDN, Step #6 - "compile-libfuzzer-introspector-x86_64": } ClientCertName; Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct TokenizedAuthLine Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": List *fields; /* List of lists of AuthTokens */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *file_name; /* File name of origin */ Step #6 - "compile-libfuzzer-introspector-x86_64": int line_num; /* Line number */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *raw_line; /* Raw line text */ Step #6 - "compile-libfuzzer-introspector-x86_64": char *err_msg; /* Error message if any */ Step #6 - "compile-libfuzzer-introspector-x86_64": } TokenizedAuthLine; Step #6 - "compile-libfuzzer-introspector-x86_64": 2025-02-04 10:13:12.502 INFO datatypes - __init__: Processing /src/postgresql/src/include/libpq/sasl.h Step #6 - "compile-libfuzzer-introspector-x86_64": typedef struct pg_be_sasl_mech Step #6 - "compile-libfuzzer-introspector-x86_64": { Step #6 - "compile-libfuzzer-introspector-x86_64": /*--------- Step #6 - "compile-libfuzzer-introspector-x86_64": * get_mechanisms() Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Retrieves the list of SASL mechanism names supported by this Step #6 - "compile-libfuzzer-introspector-x86_64": * implementation. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Input parameters: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * port: The client Port Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Output parameters: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * buf: A StringInfo buffer that the callback should populate with Step #6 - "compile-libfuzzer-introspector-x86_64": * supported mechanism names. The names are appended into this Step #6 - "compile-libfuzzer-introspector-x86_64": * StringInfo, each one ending with '\0' bytes. Step #6 - "compile-libfuzzer-introspector-x86_64": *--------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void (*get_mechanisms) (Port *port, StringInfo buf); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*--------- Step #6 - "compile-libfuzzer-introspector-x86_64": * init() Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Initializes mechanism-specific state for a connection. This callback Step #6 - "compile-libfuzzer-introspector-x86_64": * must return a pointer to its allocated state, which will be passed Step #6 - "compile-libfuzzer-introspector-x86_64": * as-is as the first argument to the other callbacks. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Input parameters: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * port: The client Port. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * mech: The actual mechanism name in use by the client. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * shadow_pass: The stored secret for the role being authenticated, or Step #6 - "compile-libfuzzer-introspector-x86_64": * NULL if one does not exist. Mechanisms that do not use Step #6 - "compile-libfuzzer-introspector-x86_64": * shadow entries may ignore this parameter. If a Step #6 - "compile-libfuzzer-introspector-x86_64": * mechanism uses shadow entries but shadow_pass is NULL, Step #6 - "compile-libfuzzer-introspector-x86_64": * the implementation must continue the exchange as if the Step #6 - "compile-libfuzzer-introspector-x86_64": * user existed and the password did not match, to avoid Step #6 - "compile-libfuzzer-introspector-x86_64": * disclosing valid user names. Step #6 - "compile-libfuzzer-introspector-x86_64": *--------- Step #6 - "compile-libfuzzer-introspector-x86_64": */ Step #6 - "compile-libfuzzer-introspector-x86_64": void *(*init) (Port *port, const char *mech, const char *shadow_pass); Step #6 - "compile-libfuzzer-introspector-x86_64": Step #6 - "compile-libfuzzer-introspector-x86_64": /*--------- Step #6 - "compile-libfuzzer-introspector-x86_64": * exchange() Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Produces a server challenge to be sent to the client. The callback Step #6 - "compile-libfuzzer-introspector-x86_64": * must return one of the PG_SASL_EXCHANGE_* values, depending on Step #6 - "compile-libfuzzer-introspector-x86_64": * whether the exchange continues, has finished successfully, or has Step #6 - "compile-libfuzzer-introspector-x86_64": * failed. Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * Input parameters: Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * state: The opaque mechanism state returned by init() Step #6 - "compile-libfuzzer-introspector-x86_64": * Step #6 - "compile-libfuzzer-introspector-x86_64": * input: The response data sent by the cl